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

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

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

LOAD ステートメントで ExtractRegExGroup() 関数を使用し、field_no を省略すると、関数は複数のレコードを返します。ExtractRegExGroup() を使用して複数の項目をロードすると、すべての組み合わせの直積が作成されます。

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

構文:  

ExtractRegExGroup (text, regex, group [, field_no])

戻り値データ型: 文字列

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

複合正規表現の場合のグループの数。

正規表現にグループが 1 つだけ含まれている場合は、代わりに ExtractRegEx() 関数を使用します。または、0group 値で ExtractRegExGroup() を使用します。

負の group 値を指定すると、一致を右から左に検索できます。

field_no

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

これはオプションの引数です。指定されていない場合、既定は 1 です。

関数の例
結果
ExtractRegExGroup('abc123 def456','([a-z]+)([0-9]+)',1) abc (最初の一致の最初のグループ) を返します。
ExtractRegExGroup('abc123 def456','([a-z]+)([0-9]+)',1,2) def (2 番目の一致の最初のグループ) を返します。
ExtractRegExGroup('abc123 def456','([a-z]+)([0-9]+)',2) 123 (最初の一致の 2 番目のグループ) を返します。
ExtractRegExGroup('abc123 def456','([a-z]+)([0-9]+)',2,2) 456 (2 番目の一致の 2 番目のグループ) を返します。

使用に適しているケース

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

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

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

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

例 1 - トランザクションコードを解析するロード スクリプト

例 2 - ビジネスの連絡先情報を抽出するロード スクリプト

例 3 - ISBN コードからコンポーネントを抽出するロード スクリプト

例 4 - ビジネス連絡先情報を抽出するチャートの数式 (ExtractRegEx() との比較)

例 5 - URL の解析 (ExtractRegEx() との比較)

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

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