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" パターンを使用できます。
'tokens' と呼ばれるシンボルは、さまざまな文字と一致するシンボルも使用できます。 参照用の簡単なトークンを次に示します。
"[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 William Kirby (619) 555-4212 Avery Smith (579) 555-5658 パーカー・ジョーンズ (346) 555-0925 Liam Small (405) 555-0887 Hollie Rees (666) 555-1872 |
| 数式 |
| =REGEXEXTRACT(A2,"[0-9()]+ [0-9-]+",1) |
次の図は、結果を示しています。