メイン コンテンツをスキップする 補完的コンテンツへスキップ

ExtractRegEx - スクリプトおよびチャート関数

ExtractRegEx() は、指定された正規表現パターンを使用して入力文字列式からテキストを抽出します。一致するものが見つからない場合、関数は null 値を返します。

この関数は、大文字と小文字を区別する正規表現操作を実行します。代わりに、バリアント ExtractRegExI() を使用して、大文字と小文字を区別しない正規表現操作を実行することもできます。

構文:  

ExtractRegEx (text, regex [, field_no])

戻り値データ型: 文字列

引数
引数 説明
text 戻り値で抽出されるテキストを含む文字列式。
regex テキストの抽出に使用する正規表現。
field_no

抽出する一致の数。これは、テキスト内に正規表現に一致するものが複数見つかる可能性がある場合に便利です。たとえば、4 番目の一致を抽出するには、4 の値を指定します。これはオプションの引数です。一致の順序を逆にするには、負の値を指定します。

関数がロード スクリプトまたはチャート式のどちらで使用されているかに関係なく、次の内容が適用されます。

  • field_no が正の場合、関数は左から右への一致を識別して 1 つの値を返します。

  • field_no が負の場合、関数は右から左への一致を識別して 1 つの値を返します。

ロード スクリプトで関数を使用する場合:

  • LOAD ステートメントで ExtractRegEx() 関数を使用し、field_no を省略すると、関数は一致するレコードと同じ数のレコードを生成します。

  • ExtractRegEx() を使用して複数のフィールドがロードされ、いずれにも field_no 引数が指定されていない場合は、すべての組み合わせの直積が作成されます。

チャートの数式で関数を使用する場合:

  • field_no が省略された場合、既定値は 1 となります。

関数の例
結果
ExtractRegEx('a,b c;1 2,3','[a-z]|[0-9]', 1) 最初に見つかった一致である、a を返します。
ExtractRegEx('a,b c;1 2,3','[a-z]|[0-9]', 2) 2 番目に見つかった一致である、b を返します。
ExtractRegEx('a,b c;1 2,3','[a-z]|[0-9]', 4) 4 番目に見つかった一致である、1 を返します。
ExtractRegEx('abc','a|b',-1) b を返します。負の値を指定すると、一致は逆順にカウントされます。
ExtractRegEx('A,B C;1 2,3','[a-c]|[4-9]') ExtractRegEx() は大文字と小文字を区別しますが、大文字と小文字を区別しないバリアントが使用されなかったため、null 値を返します。
ExtractRegExI('A,B C;1 2,3','[a-c]|[4-9]') 大文字と小文字を区別しないバリアント ExtractRegExI() が使用されたため、A を返します。

使用に適しているケース

Extract RegEx() を使用すると、他の情報 (フリーテキストや JSON 文字列など) も含まれている可能性のあるデータから分離する情報を抽出できます。 例:

  • メール アドレス、電話番号、アカウント番号、その他の情報をテキストから抽出します。

  • 数値 (通貨など) をテキストから抽出します。

  • テキストまたは数値データの書式設定を標準化します。

例 1 - JSON からメール アドレスを抽出するロード スクリプト

例 2 - 通貨の金額から数値を抽出するロード スクリプト

例 3 - JSON からメール アドレスを抽出するためのチャートの数式

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。