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

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

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

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

構文:  

IndexRegEx (text, regex [, count])

戻り値データ型: 整数

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

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

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

関数の例
結果
IndexRegEx('abc123','[a-z][0-9]+') 3 を返します (最初の一致の開始位置)。
IndexRegEx('abc123','[a-z][0-9]+',2) 0 を返します (正規表現に 2 番目の一致がない)。
IndexRegEx('ABC123','[a-z][0-9]+') IndexRegEx() は大文字と小文字を区別するため、0 を返します。
IndexRegExI('ABC123','[a-z][0-9]+') 3 を返します。関数の大文字と小文字を区別しないバリアント IndexRegExI() が使用されます。

使用に適しているケース

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

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

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

例 1 - ISBN で書籍を識別するロード スクリプト

例 2 - セカンダリ電話番号を持つ連絡先を識別するチャートの数式

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

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