次の例は、基本的な正規表現の使い方と構造を示しています。それぞれの例には、検索対象の文字列の種類、その文字列と一致する正規表現、特殊文字の使い方についての説明が含まれています。
重要: 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} は単語 stock と tip の間に 0~3 個のスペースが存在できることを示します。
- ^ は新しい行の先頭を表します。このフレーズが行の先頭に出現する、つまり前に文字が存在しない場合に、この正規表現に一致するとみなされます。
- $ は行の末尾を表します。このフレーズが行の末尾に出現する、つまり後ろに文字が存在しない場合に、この正規表現に一致するとみなされます。
- 例 3 の (s) は文字 s を表し、{0,1} は単語 tip の後にこの文字が 0 回または 1 回出現することを示します。したがって、この正規表現には stock tip と stock tips が一致します。文字 ? を {0,1} の代わりに使用することもできます。
|
リスト内の単語またはフレーズを検索する |
使用例 |
次のリストの単語またはフレーズを検出する。
- baloney
- darn
- drat
- fooey
- gosh darnit
- heck
|
正規表現の例 |
(?i)(\W|^)(baloney|darn|drat|fooey|gosh\sdarnit|heck)(\W|$) |
注意 |
|
類似の綴りや特殊文字を含む単語を検索する |
使用例
|
fast cash という単語や、スパマーが使用するぼかし表現を検出する。たとえば、次のような表現です。
- f@st c@sh
- f@$t c@$h
- fa$t ca$h
|
正規表現の例 |
f[a4@][s5\$][t7] +c[a4@][s5\$]h
|
注意 |
- \W は指定されていないので、fast cash のパターンの前後に他の文字があってもかまいません。たとえば、次のテキストにある fast cash もこの正規表現に一致します。
Fast cash!! または ***f@st ca$h***
- [a4@] は、単語の 2 文字目と a、4、@ を照合します。これは、スパマーが単純なテキスト一致を回避するために使用する一般的な置き換え文字を反映しています。
|
特定のドメインの任意のメールアドレスを検索する |
使用例 |
ドメイン yahoo.com、hotmail.com、gmail.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.0~192.168.1.255 の範囲内にある IP アドレスを検出する。 |
正規表現の例 |
例 1: 192\.168\.1\.
例 2: 192\.168\.1\.\d{1,3} |
注意 |
- 各ピリオドの前にある \ は、そのピリオドを「エスケープ」します。つまり、そのピリオドは正規表現の特殊文字ではありません。
- 例 1 では、最後のピリオドの後ろに文字がないので、192.168.1. で始まる IP アドレスはすべて、その後ろに続く数字にかかわらずこの正規表現に一致するとみなされます。
- 例 2 の \d は、最後のピリオドの後に 0~9 の任意の数字があるものを検出します。{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 桁の数字が存在することを示します。
|