Skip to main content
Created for OutSystems 11. Not working on your version? Tell us about it!

 

 

 

 

 
Language:
 
 
 
OutSystems

OutSystemsでの正規表現の使用

この記事は作成中です。この新しいバージョンはどの程度参考になりましたか。投票でお聞かせください。

正規表現の検索パターンを使用してテキスト文字列を処理することができます。正規表現の仕組みや記述方法に関する追加リソースについては、「関連リソース」のリンクをご覧ください。

OutSystemsのTextエクステンションに含まれている以下の2つのサーバーアクションによって、正規表現をアプリで使用することができます。

  • 正規表現パターンに一致するテキストを検索するには、Regex_Searchを使用します。

  • 正規表現パターンに一致するテキストを置換するには、Regex_Replaceを使用します。

例: テキストがGUIDであるかどうかを確認する

グローバル一意識別子(GUID)は、128ビットの16進数の整数です(例: 4ccdb844-bcb6-4abd-83af-6655f31ca65d)。環境やシステム全体で識別子を一意にする必要がある場合に、GUIDを使用できます。

正規表現"^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"を使用して、テキスト文字列にGUIDのみが含まれているかどうかを確認できます。 GUIDとその形式の詳細については、RFC 4122をご覧ください。

以下の例は、この正規表現とRegex_Searchアクションを使用して、テキスト入力がGUIDであるかどうかを確認する再利用可能なサーバーアクションを作成する方法を示しています。

  1. アプリのモジュールで[Manage Dependencies]を開き、依存関係としてTextプロデューサのRegex_Searchアクションを追加します。

  2. [Logic]タブで、新しいサーバーアクションを作成して「CheckGUID」という名前を付けます。

  3. このアクションに以下の変数を追加します。

    • TextToCheckという名前のTextデータ型の入力パラメータを追加します。

    • IsGuidという名前のBooleanデータ型の出力パラメータを追加します。

  4. アクションフローで、Regex_Searchアクションを追加します。

  5. Regex_Searchアクションのプロパティを以下のように設定します。

    • Textを入力パラメータ「GuidToCheck」に設定します。

    • Patternを「"^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"」に設定します。

  6. Regex_Searchアクションの後にAssignを追加し、割り当てIsGuid = Regex_Search.Foundを追加します。

これらの手順により、テキスト入力を受け取って、入力テキストがGUIDである場合にTrueになるBoolean値を出力するサーバーアクションが作成されました。

例: テキストからGUIDを抽出する

前の例を拡張し、テキスト文字列の中にあるGUIDを検出して出力できるようにします。正規表現"[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}"を使用して、テキスト文字列にGUIDが含まれるかどうかを確認できます。

テキスト入力からGUIDを検出して出力する再利用可能なサーバーアクションを作成するには、以下の手順を実行します。

  1. アプリのモジュールで[Manage Dependencies]を開き、依存関係としてTextプロデューサのRegex_Searchアクションを追加します。

    前の例を完了しており、同じモジュールを使用する場合は、この手順はスキップします。

  2. [Logic]タブで、新しいサーバーアクションを作成して「ExtractGUID」という名前を付けます。

  3. このアクションに以下の変数を追加します。

    • GuidToCheckという名前のTextデータ型の入力パラメータを追加します。

    • HasGuidという名前のBooleanデータ型の出力パラメータを追加します。

    • Guidという名前のTextデータ型の出力パラメータを追加します。

  4. アクションフローで、Regex_Searchアクションを追加します。

  5. Regex_Searchアクションのプロパティを以下のように設定します。

    • Textを入力パラメータ「TextToCheck」に設定します。

    • Patternを「"[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}"」に設定します。

  6. Regex_Searchアクションの後にAssignを追加し、以下の割り当てを追加します。

    • HasGuid = Regex_Search.Found
    • Guid = Regex_Search.PatternResult

これらの手順により、テキスト入力を受け取って、入力テキストにGUIDが含まれる場合にTrueになるBoolean値と抽出されたGUIDをテキストとして出力するサーバーアクションが作成されました。