正規表現は、通常の文字 (a ~ z など) と、"メタキャラクタ" という特殊文字から構成される文字列のパターンです。パターンによって、テキスト本文を検索するときに一致する 1 つ以上の文字列を指定します。正規表現は、検索対象の文字列と文字パターンを一致させるためのテンプレートとして機能します。
例えば、文字を前方一致させたい場合や後方一致させたい場合など正規表現で実施することができます。
なお、正規表現は、主にトランスポートルールの条件指定をする場合に利用することになると思いますが、条件にある [***が次のテキストパターンと一致する] を指定することで正規表現を適用することができます。
[***が次のテキストパターンと一致する] の条件は、部分一致、および、正規表現を対象とします。
まずは、前方一致と後方一致の方法についてご紹介していきたいと思います。
■前方一致
前方一致と言いますのは、先頭の文字が一致した場合を示します。
例えば、aから始まるアドレスを対象としたい場合などです。
前方一致を条件指定したい場合は、先頭に "^(キャレット)" を含めることで可能です。
例 : abcから始まるアドレスを前方一致させたい場合は、^abcというように指定します。
■後方一致
後方一致については、末尾の文字が一致した場合を示します。
後方一致を条件指定したい場合は、"$ (ドル)" を指定する文字の末尾に付与することにより可能です。
例 : ファイル名で reg.txt という txt の拡張子をファイル名を指定したい場合は、reg.txt$ と指定することでファイル名が abc.reg.txt や efg.reg.txt のものがルールの対象となります。
なお、正規表現を実行させたくない場合、[\ (バックスラッシュ) ] を記号の前に付与することで、正規表現をエスケープすることが可能でございます。 (エスケープ文字)
■エスケープ文字
例として [abc] と条件してした場合、正規表現により、件名に a,b,c のいずれかが含まれた場合にルールが処理される動作となります。
そのため、[abc] のようにかっこを含む文字列を条件としたい場合は、エスケープ文字を利用することで可能です。
例 : \[abc\] と指定することで、"[abc]" の文字が含まれる場合に処理されます。
他に {} → \{ \} などのようにできます。
他に一例としていくつか正規表現をご紹介していきたいと思います。
■空欄、空欄以外
・空欄で指定する場合は "^$" で指定します (キャレットとドル)
・空欄およびスペースを含む場合は"(^$| )" で指定します
なお、[^^$] とすることで、空欄以外の文字が含まれた場合を条件とすることができます。([]を含みます)
■指定したドメイン以外のアドレスが含む場合
指定したドメイン以外はルールの対象外とし、それ以外のドメインが含む場合をルールの対象としたい場合は、以下の正規表現で可能です。
^(?![^\s]+@contoso.onmicrosoft.com)(?![^\s]+@contoso.com)(?![^\s]+@contoso.mail.onmicrosoft.com).+?$
例 : ドメインが、contoso.onmicrosoft.com、contoso.com、contoso.mail.onmicrosoft.com 以外の場合を条件とすることが可能です。
■指定した桁数の数字を指定する場合
指定した桁数の数字がつく場合を条件とする場合、以下の正規表現で可能です。
"test\d\d\d\d\d\d"
例 : testの後に6桁の数字がつく場合を条件とすることができます。(test123456,test654321など)
広告
目の疲れを防止するにはPCメガネがオススメです!
アフィリエイトをするなら「もしもアフィリエイト(登録無料)」
高スペックPCが約3万円で購入できます