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

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

IndexRegExGroup() は、入力文字列を検索し、指定された複合正規表現パターンの n 番目の出現の開始位置を返します。n の値は、オプションの 4 番目の引数 count で指定されます。省略されている場合は、1 になります。文字列内の位置は、左から右に 1 から順に番号が付けられます。一致するものが見つからない場合、関数は 0 を返します。

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

構文:  

IndexRegExGroup (text, regex, group [, count])

戻り値データ型: 整数

引数
引数 説明
text 正規表現を検索する入力文字列テキスト。
regex 入力文字列の検索に使用する正規表現。
group

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

0group 値では、正規表現全体のインデックスが返されます。ただし、正規表現で一致全体のインデックスのみを返す必要がある場合は、代わりに IndexRegEx() 関数を使用します。

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

count

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

これはオプションの引数です。指定されていない場合、既定は 1 です。負の値を指定すると、一致を右から左に検索できます。

関数の例
結果
IndexRegExGroup('abc123','([a-z])([0-9]+)',0) 3 を返します (完全な正規表現の開始位置)。
IndexRegExGroup('abc123','([a-z])([0-9]+)',1) 3 を返します (最初のグループの開始位置)。
IndexRegExGroup('abc123','([a-z])([0-9]+)',2) 2 番目のグループの開始位置である、4 を返します。入力正規表現パターンでは、文字列 ([0-9]+) は 2 番目のグループに相当します。
IndexRegExGroup('ABC123','([a-z])([0-9]+)',1) IndexRegExGroup() は大文字と小文字を区別するため、0 を返します。
IndexRegExGroupI('ABC123','([a-z])([0-9]+)',1) 3 を返します。関数の大文字と小文字を区別しないバリアント IndexRegExI() が使用されます。

使用に適しているケース

この関数のユース ケースは次のとおりです。

  • 大きなテキスト本文の中で、特定のテキストパターンがどこにあるかを特定します。たとえば、一連の長いメール メッセージ全体で、メール アドレスのドメインがどこで使用されているかを知りたいとします。

  • IndexRegExGroup() は特に高度なデータの変換に有効で、より長く複雑な変換の最初のステップでよく使用されます。通常、ExtractRegExGroup()MatchRegEx()CountRegEx() のような他の正規表現関数を使用した方が問題を簡単に解決できますが、IndexRegExGroup() はこれらの関数では解決できないような解決策を提供する場合もあります。

例 1 - ISBN コンポーネントの位置を見つけるロード スクリプト

例 2 - URL の位置を見つけるチャートの数式 (IndexRegEx() との比較)

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

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