REGEXREPLACE 関数

適用先
Excel for Microsoft 365 Excel for Microsoft 365 for Mac

REGEXREPLACE 関数を使用すると、指定された正規表現 ("regex") に基づいて、文字列のテキストを別の文字列に置き換えることができます。

構文

REGEXREPLACE 関数は、指定されたテキスト内の文字列を、パターンに一致する文字列を置換に置き換えます

REGEXEXTRACT 関数の構文は次のとおりです。

REGEXREPLACE(text, pattern, replacement, [occurrence], [case_sensitivity])

引数 説明
text
(必須)
文字列または文字列を置き換えるテキストを含むセルへの参照。
パターン
(必須)
置き換えるテキストのパターンを記述する正規表現 ("regex")。
交換
(必須)
パターンのインスタンスを置き換えるテキスト。
発生 置き換えるパターンのインスタンスを指定します。 既定では、occurrence は 0 で、すべてのインスタンスが置き換えられます。 負の数値は、末尾から検索して、そのインスタンスを置き換えます。
case_sensitivity 一致で大文字と小文字が区別されるかどうかを判断します。 既定では、一致では大文字と小文字が区別されます。 次のいずれかを入力します。
0: 大文字と小文字の区別
1: 大文字と小文字を区別しない

正規表現パターンを記述するときに、さまざまな文字と一致する "トークン" と呼ばれるシンボルを使用できます。 参照用の簡単なトークンを次に示します。

  • "[0-9]": 任意の数字
  • "[a-z]": a から z の範囲の文字
  • ".": 任意の文字
  • "a": "a" 文字
  • "a*": ゼロ以上の "a"
  • "a+": 1 つ以上の "a"
  • この関数のすべての正規表現、 および REGEXTESTREGEXEXTRACT では、正規表現の PCRE2 'flavor' が使用されます。
  • REGEXEXTRACT は常にテキスト値を返します。 VALUE 関数を使用して、これらの結果を数値に変換できます。

使用例

サンプル データをコピーし、新しい Excel ワークシートのセル A1 に貼り付けます。 必要に応じて、列幅を調整してすべてのデータを表示してください。

使用例 1

REGEXREPLACE を使用して、最初の 3 桁を *** に置き換えて、パターンを使用して電話番号を匿名化します

"[0-9]+-"

データ
Sonia Rees(378) 555-4195
Angel Brown(878) 555-8622
Blake Martin(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
数式
=REGEXREPLACE(A2,"[0-9]+-","***-")

次の図は、結果を示しています。 結果の改行を表示するには、セル A4 でテキストを折り返す必要があります。

REGEXREPLACE を使用して、パターン [0-9]+- を使用して、混合テキスト内の各電話番号の最初の 3 桁を *に置き換えます。

使用例 2

パターン "([A-Z][a-z]+)([A-Z][a-z]+)"を使用して、特定の名前と姓を区切って並べ替えるには、グループをキャプチャする REGEXREPLACE を使用します。および置換: "$2, $1"

メモ: キャプチャ グループは、かっこ "()" を使用して パターン で定義され、 置換 で "$n" として参照できます。 この例では、$1 と $2 は、それぞれ 1 番目と 2 番目のキャプチャ グループを参照します。

データ
SoniaBrown
数式
=REGEXREPLACE(A2,"([A-Z][a-z]+)([A-Z][a-z]+)","$2, $1")

以下の図に、これらの方法を示します。

パターン ([A-Z][a-z]+)([A-Z][a-z]+) と置換: $2, $1 を使用して、特定の名前と姓を区切って並べ替えるには、グループをキャプチャして REGEXREPLACE を使用します。