REGEXEXTRACT 関数を使用すると、指定された正規表現に基づいて文字列からテキストを抽出できます。 最初の一致、すべての一致、または最初の一致から取得するグループを抽出できます。
構文
REGEXEXTRACT 関数は、指定されたテキスト内でパターンに一致する文字列を抽出します。
REGEXEXTRACT 関数の構文は次のとおりです。
REGEXEXTRACT(text, pattern, [return_mode], [case_sensitivity])
| 引数 | 説明 |
|---|---|
|
text (必須) |
文字列を抽出するテキストを含むテキストまたはセルへの参照。 |
|
パターン (必須) |
抽出するテキストのパターンを記述する正規表現 ("regex")。 |
| return_mode | 抽出する文字列を指定する数値。 既定では、戻りモードは 0 です。 使用可能な値は次のとおりです。 0: パターンに一致する最初の文字列を返します 1: パターンに一致するすべての文字列を配列として返します 2: 最初の一致からキャプチャするグループを配列として返します メモ: キャプチャするグループは、かっこ "(...)" で囲まれた正規表現パターンの一部です。 これらを使用すると、1 つの一致の個別の部分を個別に返すことができます。 |
| case_sensitivity | 一致で大文字と小文字が区別されるかどうかを決定します。 既定では、一致では大文字と小文字が区別されます。 次のいずれかを入力します。 0: 大文字と小文字を区別する 1: 大文字と小文字を区別しない |
注
最も単純なパターンは、一致させるリテラル テキストです。 たとえば、"Match Me" というテキストに一致させるには、"Match Me" というパターンを使用できます。
さまざまな文字と一致する "トークン" と呼ばれる記号を使用することもできます。 参照用の簡単なトークンを次に示します。
"[0-9]": 任意の数字
"[a-z]": A から Z の範囲の文字
".": 任意の文字
"a": "a" 文字
"a*": ゼロ以上の "a"
"a+": 1 つ以上の "a"
この関数のすべての正規表現、および REGEXTEST および REGEXREPLACE は、正規表現の PCRE2 'flavor' を使用します。
REGEXEXTRACT は常にテキスト値を返します。 VALUE 関数を使用すると、これらの結果を数値に変換し直すことができます。
使用例
サンプル データをコピーし、新しい Excel ワークシートのセル A1 に貼り付けます。 必要に応じて、列幅を調整してすべてのデータを表示してください。
使用例 1
パターンが "[A-Z][a-z]+" の大文字に基づいて名前を抽出する
| データ |
|---|
| DylanWilliams |
| 数式 |
| =REGEXEXTRACT(A2,"[A-Z][a-z]+") |
| =REGEXEXTRACT(A2,"[A-Z][a-z]+",1) |
以下の図に、これらの方法を示します。
使用例 2
パターン "[0-9()]+ [0-9-]+" の構造に基づいて電話番号を抽出します
| データ |
|---|
| ソニア・リース (378) 555-4195 エンジェルブラウン(878)555-8622 ブレイク・マーティン(437)555-8987 ウィリアム・カービー(619)555-4212 エイブリー・スミス(579)555-5658 パーカー・ジョーンズ(346)555-0925 リアム・スモール (405) 555-0887 ホリーリース(666)555-1872 |
| 数式 |
| =REGEXEXTRACT(A2,"[0-9()]+ [0-9-]+",1) |
結果を次の図に示します。