正規表現の例

次の例は、基本的な正規表現の使い方と構造を示しています。それぞれの例には、検索対象の文字列の種類、その文字列と一致する正規表現、特殊文字の使い方についての説明が含まれています。

詳しい使い方とガイドラインについては、正規表現を使用する際のガイドラインRE2 の構文についてのページをご覧ください。コンテンツ コンプライアンス ルールの設定も併せてご覧ください。

重要: Google では RE2 構文のみをサポートしています。RE2 構文は PCRE とは若干異なりますのでご注意ください。なお、正規表現ではデフォルトで大文字と小文字が区別されます。

注: 下記の例は、より複雑な正規表現を使用する際にも参考になります。なお、単一の単語を検索するには、[コンテンツ コンプライアンス] や [不快なコンテンツ] を設定することをおすすめします。

完全一致のフレーズを検索する
使用例 フレーズ stock tips を検出する。
正規表現の例 例 1: (\W|^)stock\stips(\W|$)

例 2: (\W|^)stock\s{0,3}tips(\W|$)

例 3: (\W|^)stock\s{0,3}tip(s){0,1}(\W|$)
注意
  • \W には、英字、数字、アンダースコアを除く任意の文字が一致します。このフレーズの前または後に文字がある場合は、この正規表現に一致しないとみなされます。
  • 例 2 の \s はスペース文字を表し、{0,3} は単語 stocktip の間に 0~3 個のスペースが存在できることを示します。
  • ^ は新しい行の先頭を表します。このフレーズが行の先頭に出現する、つまり前に文字が存在しない場合に、この正規表現に一致するとみなされます。
  • $ は行の末尾を表します。このフレーズが行の末尾に出現する、つまり後ろに文字が存在しない場合に、この正規表現に一致するとみなされます。
  • 例 3 の (s) は文字 s を表し、{0,1} は単語 tip の後にこの文字が 0 回または 1 回出現することを示します。したがって、この正規表現には stock tipstock tips が一致します。文字 ? を {0,1} の代わりに使用することもできます。

リスト内の単語またはフレーズを検索する
使用例 次のリストの単語またはフレーズを検出する。
  • baloney
  • darn
  • drat
  • fooey
  • gosh darnit
  • heck
正規表現の例 (?i)(\W|^)(baloney|darn|drat|fooey|gosh\sdarnit|heck)(\W|$)
注意
  • (...) はすべての単語をグループ化するので、\W 文字クラスは、かっこ内のすべての単語に適用されます。

  • (?i) は大文字と小文字が区別されないことを表します。

  • \W には、英字、数字、アンダースコアを除く任意の文字が一致します。リストにある単語やフレーズの前または後に文字がある場合は、この正規表現に一致しないとみなされます。

  • ^ は新しい行の先頭を表します。この単語が行の先頭に出現する、つまり前に文字が存在しない場合に、この正規表現に一致するとみなされます。

  • $ は行の末尾を表します。この単語が行の末尾に出現する、つまり後ろに文字が存在しない場合に、この正規表現に一致するとみなされます。

  • | は「または」を意味します。つまり、リスト内の単語のいずれかに該当すれば、この正規表現に一致するとみなされます。

  • \s は、スペース文字を表します。この文字を使用して、フレーズ内の各単語を区切ります。

類似の綴りや特殊文字を含む単語を検索する
使用例 viagra という単語や、不正業者が使用するぼかし表現を検出する。たとえば、次のような表現です。
  • vi@gra
  • v1agra
  • v1@gra
  • v!@gr@
正規表現の例 v[i!1][a@]gr[a@]
注意
  • \W は指定されていないので、viagra のバリエーションの前後に他の文字が出現していてもかまいません。たとえば、次のテキストにある viagra もこの正規表現に一致します。

viagra!! ***viagra***

  • [i!1] は、単語の 2 文字目が i!1 のいずれかであることを表します。

特定のドメインの任意のメールアドレスを検索する
使用例 ドメイン yahoo.comhotmail.comgmail.com の任意のメールアドレスを検出する。
正規表現の例 (\W|^)[\w.\-]{0,25}@(yahoo|hotmail|gmail)\.com(\W|$)
注意
  • \W には、英字、数字、アンダースコアを除く任意の文字が一致します。メールアドレスの前または後に文字がある場合は、この正規表現に一致しないとみなされます。
  • ^ は新しい行の先頭を表します。アドレスが行の先頭に出現する、つまり前に文字が存在しない場合に、この正規表現に一致するとみなされます。
  • $ は行の末尾を表します。アドレスが行の末尾に出現する、つまり後ろに文字が存在しない場合に、この正規表現に一致するとみなされます。
  • [\w.\-] には、任意の文字(a~z、A~Z、0~9、アンダースコア)、ピリオド、ハイフンのいずれかが一致します。これらは、メールアドレスの前半部分で一般的に使用される文字です。ハイフンを示す \- は、角かっこ内の文字リストの最後に置く必要があります。
  • ハイフンとピリオドの前にある \ は、これらの文字を「エスケープ」します。つまり、このハイフンとピリオドは、正規表現の特殊文字ではありません。角かっこ内のピリオドはエスケープする必要がないことに注意してください。
  • {0,25} は、直前の文字セットの文字が @ 記号の前に 0~25 個存在することを示します。コンテンツ コンプライアンスのメール設定では、正規表現の文字セットごとに 25 文字までの一致がサポートされます。
  • (...) はドメインをグループ化し、ドメインを区切っている | 文字は「または」を表します。

範囲内の任意の IP アドレスを検索する
使用例 192.168.1.0192.168.1.255 の範囲内にある IP アドレスを検出する。
正規表現の例 例 1: 192\.168\.1\.
例 2: 192\.168\.1\.\d{1,3}
注意
  • 各ピリオドの前にある \ は、そのピリオドを「エスケープ」します。つまり、そのピリオドは正規表現の特殊文字ではありません。
  • 例 1 では、最後のピリオドの後ろに文字がないので、192.168.1. で始まる IP アドレスはすべて、その後ろに続く数字にかかわらずこの正規表現に一致するとみなされます。
  • 例 2 の \d は、最後のピリオドの後に 09 の任意の数字があるものを検出します。{1,3} は、最後のピリオドの後に 1~3 個の数字が出現することを示します。この場合は、192.168.1. から始まる完全な IP アドレスはどれも、この正規表現に一致するとみなされます。この正規表現では、192.168.1.999 のような無効な IP アドレスも一致とみなされることに注意してください。

英数字で構成されたデータを検索する
使用例 自社の発注書番号を検出する。この番号の形式は、次のようにさまざまなものが考えられます。
  • PO nn-nnnnn
  • PO-nn-nnnn
  • PO# nn nnnn
  • PO#nn-nnnn
  • PO nnnnnn
正規表現の例 (\W|^)po[#\-]{0,1}\s{0,1}\d{2}[\s-]{0,1}\d{4}(\W|$)
注意
  • \W には、英字、数字、アンダースコアを除く任意の文字が一致します。番号の前または後に文字がある場合は、この正規表現に一致しないとみなされます。
  • ^ は新しい行の先頭を表します。番号が行の先頭に出現する、つまり前に文字が存在しない場合に、この正規表現に一致するとみなされます。
  • $ は行の末尾を表します。番号が行の末尾に出現する、つまり後ろに文字が存在しない場合に、この正規表現に一致するとみなされます。
  • [#\-] は、po という文字の後にシャープ記号またはハイフンがあることを表します。{0,1} は、これらの文字の 1 つが 0 回または 1 回出現することを示します。ハイフンを示す \- は、角かっこ内の文字リストの最後に置く必要があります。
  • \s はスペースを表し、{0,1} はスペースが 0 回または 1 回出現することを示します。
  • \d は、0~9 の任意の数字を表します。{2} は、番号のこの位置に必ず 2 桁の数字が存在することを示します。

 

正規表現の文字の制限

次の特殊文字を使用した正規表現は、メール処理の遅延を招く可能性があるため、サポートされていません。

  • *(アスタリスク)
  • +(プラス記号)

 

この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。

さらにサポートが必要な場合

問題を迅速に解決できるよう、ログインして追加のサポート オプションをご利用ください。