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

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

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

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

構文:  

SubFieldRegEx (text, regex_delimiter [, field_no])

戻り値データ型: 文字列

引数
引数 説明
text 正規表現パターンを検索する入力文字列テキスト。
regex_delimiter 区切り文字として使用する正規表現を含む文字列式。| (バーティカル バー) 文字で区切ることで、同じ正規表現パターン内に複数の区切り文字を指定できます。
field_no

抽出する小区分の番号を示す整数値。たとえば、4 番目の区分を抽出するには、4 の値を指定します。これはオプションの引数です。

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

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

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

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

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

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

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

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

関数の例
結果
SubFieldRegEx('a,b c;1 2,3',' |,|;', 1) a を返します。この例では、3 つの区切り文字 (スペース、カンマ、セミコロン) が指定されています。
SubFieldRegEx('a;b;c;1;2;3',';', 2) b を返します。この場合、指定される区切り文字は 1 つのみです (セミコロン)。
SubFieldRegEx('a,b c;1 2,3',' |,|;', 4) 1 を返します。

使用に適しているケース

SubFieldRegEx() を使用すると、区切られたリストから複数の個別の値を抽出できます。たとえば、自然言語の大きなブロック内にカンマ区切りのリストが含まれている場合、この関数を使用して、リストの各値をデータ モデル内の新しいレコードに分離できます。

例 1 - トランザクションごとにタグを分離するロード スクリプト

例 2 - トランザクションごとにタグを分けるチャートの数式

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

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