![]() |
注意正規表現は、強力な文字列照合ツールです。このため、正規表現の構文に精通し、慣れている管理者が、正規表現を使用することをお勧めします。分かりにくい正規表現はパフォーマンスに影響することがあります。トレンドマイクロでは、複雑な構文を使用しない、単純な正規表現から始めることをお勧めします。新しいルールを導入する際は、バックアップ処理を使用し、そのルールを使用したInterScanでのメッセージの管理状況を観察します。そのルールが予期せぬ結果を引き起こさないことを確認してから、処理を変更します。
|
要素
|
意味
|
例
|
.
|
ドットまたはピリオドの記号は、改行文字以外の任意の文字を表します。
|
do.は、doe、dog、don、dos、dotなどに一致します。d.rは、deer、doorなどに一致します。
|
*
|
アスタリスク記号は、直前の要素が0回以上連続することを意味します。
|
do*は、d、do、doo、dooo、dooooなどに一致します。
|
+
|
プラス記号は、直前の要素が1回以上連続することを意味します。
|
do+は、do、doo、dooo、dooooなどに一致しますが、dには一致しません。
|
?
|
疑問符は、直前の要素が0または1回連続することを意味します。
|
do?gは、dgまたはdogに一致しますが、doog、dooogなどには一致しません。
|
( )
|
丸カッコは、その間にあるものが何であっても、1つのものと見なしてグループ化します。
|
d(eer)+は、deer、deereer、deereereerなどに一致します。+記号は丸カッコ内のサブ文字列に適用されるので、dの後に「eer」のグループが複数回続く文字列が検索されます。
|
[ ]
|
角カッコは、文字のセットまたは範囲を示します。
|
d[aeiouy]+は、da、de、di、do、du、dy、daa、dae、daiなどに一致します。+記号は角カッコ内の集合に適用されるので、dの後に [aeioy] の集合の中の1つ以上の文字が続く文字列が検索されます。
d[A-Z] は、dA、dB、dCからdZまでの文字列に一致します。角カッコ内の集合は、A~Zの範囲のすべての大文字を表します。
|
^
|
角カッコ内のキャレット記号は、指定された集合または範囲を論理的に否定します。つまり、その集合または範囲にない任意の文字が一致します。
|
d[^aeiouy] は、dの後に母音以外の1文字が続く、db、dc、dd、d9、d#に一致します。
|
{ }
|
中カッコは、直前の要素が特定の回数繰り返されることを設定します。中カッコ内の値が1つだけの場合、その回数の繰り返しのみが一致します。2つの数字がカンマで区切られている場合、直前の文字の繰り返しが有効な回数の集合を表します。1つの10進数字の後にカンマが続く場合は、上限がないことを意味します。
|
da{3} は、dの後に3回だけ「a」が続く、daaaに一致します。da{2,4} は、dの後に2、3、4回「a」が続くdaa、daaa、およびdaaaaに一致しますが、daaaaaには一致しません。da{4,}
は、dの後に4回以上「a」が続く、daaaa、daaaaa、daaaaaaなどに一致します。
|
要素
|
意味
|
例
|
\d
|
任意の10進数文字。[0-9] または [[:digit:]] と機能的には同等です。
|
\dは、1つ以上の任意の10進数文字で、1、12、123などに一致しますが、1b7には一致しません。
|
\D
|
10進数字以外の任意の文字。[^0-9] または [^[:digit:]] と機能的には同等です。
|
\Dは、0、1、2、3、4、5、6、7、8、9以外の1つ以上の任意の文字で、a、ab、ab&に一致しますが、1には一致しません。
|
\w
|
任意の「単語」となる文字、つまり、任意の英数字。[_A-Za-z0-9] または [_[:alnum:]] と機能的には同等です。
|
\wは、a、ab、a1に一致しますが、!&には一致しません。\wは、1つ以上の大小の英字または10進数字で、句読点やその他の特殊文字は含まれません。\wは、a、ab、a1に一致しますが、!&には一致しません。
|
\W
|
英数字以外の任意の文字。[^_A-Za-z0-9] または [^_[:alnum:]] と機能的には同等です。
|
\Wは、*、&に一致しますが、aceまたはa1には一致しません。\Wは、1つ以上の任意の文字で、大小の英字および10進数字は含まれません。\Wは、*、&に一致しますが、aceまたはa1には一致しません。
|
\s
|
任意の空白文字。スペース、改行、タブ、改行禁止スペースなどです。[[:space]] と機能的には同等です。
|
vegetable\sは、「vegetable」の後に任意の空白文字が続く文字列に一致します。したがって、「I like vegetables in my soup」という文は検索されませんが、「I
like a vegetable in my soup」は検索されます。
|
\S
|
任意の空白以外の文字。スペース、改行、タブ、改行禁止スペースなど以外のすべての文字です。[^[:space]] と機能的には同等です。
|
vegetable\Sは、「vegetable」の後に空白文字以外の任意の文字が続く文字列に一致します。したがって、「I like vegetables in my soup」という文は検索されますが、「I
like a vegetable in my soup」は検索されません。
|
要素
|
意味
|
例
|
||
[:alpha:]
|
任意のアルファベット文字。
|
.REG.[[:alpha:]] は、abc、def、xxxに一致しますが、123や@#$には一致しません。
|
||
[:digit:]
|
任意の10進数文字。\dと機能的には同等です。
|
.REG.[[:digit:]] は、1、12、123などに一致します。
|
||
[:alnum:]
|
任意の「文字」、つまり、任意の英数字。\wと機能的には同等です。
|
.REG.[[:alnum:]] は、abc、123に一致しますが、~!@には一致しません。
|
||
[:space:]
|
任意の空白文字。スペース、改行、タブ、改行禁止スペースなどです。\sと機能的には同等です。
|
.REG.(vegetable)[[:space:]] は、「vegetable」の後に任意の空白文字が続く文字列に一致します。したがって、「I like a vegetable in my soup」という文は検索されますが、「I
like vegetables in my soup」は検索されません。
|
||
[:graph:]
|
空白、制御文字、または同様のものを除く任意の文字。
|
.REG.[[:graph:]] は、123、abc、xxx、><"に一致しますが、空白または制御文字には一致しません。
|
||
[:print:]
|
任意の文字 ([:graph:] と似ています)。ただし、空白文字が含まれます。
|
.REG.[[:print:]] は、123、abc、xxx、><"、および空白文字に一致します。
|
||
[:cntrl:]
|
任意の制御文字 (例: CTRL + C、CTRL + X)。
|
.REG.[[:cntrl:]] は、0x03、0x08に一致しますが、abc、123、!@#には一致しません。
|
||
[:blank:]
|
スペースおよびタブ文字。
|
.REG.[[:blank:]] は、スペースおよびタブ文字に一致しますが、123、abc、!@#には一致しません。
|
||
[:punct:]
|
句読点文字。
|
.REG.[[:punct:]] は; : ? ! ~ @ # $ % & * ’r; "r;などに一致しますが、123、abcには一致しません。
|
||
[:lower:]
|
任意の小文字のアルファベット文字。
|
.REG.[[:lower:]] は、abc、Def、sTress、Doなどに一致しますが、ABC、DEF、STRESS、DO、123、!@#には一致しません。
|
||
[:upper:]
|
任意の大文字のアルファベット文字。
|
.REG.[[:upper:]] は、ABC、DEF、STRESS、DO、Def、Stress、Doなどに一致しますが、abc、123、!@#には一致しません。
|
||
[:xdigit:]
|
16進数で使用できる数字 (0-9a-fA-F)。
|
.REG.[[:xdigit:]] は、0a、7E、0fなどに一致します。
|
要素
|
意味
|
例
|
||
^
|
文字列の始まりを示します。
|
^ (notwithstanding) は、「notwithstanding」で始まる任意のテキストのブロックに一致します。「notwithstanding the fact that I like vegetables
in my soup」は検索されますが、「The fact that I like vegetables in my soup notwithstanding」は検索されません。
|
||
$
|
文字列の末尾を示します。
|
(notwithstanding) $は、「notwithstanding」で終わる任意のテキストのブロックに一致します。「The fact that I like vegetables in my soup
notwithstanding」は検索されますが、「notwithstanding the fact that I like vegetables in my soup」は検索されません。
|
||
\
|
正規表現で特殊な意味を持つ文字 (たとえば「+」) と一致させます。
|
|
||
\t
|
タブ文字を示します。
|
(stress)\tは、サブ文字列「stress」を含み、「stress」の直後にタブ (ASCII 0x09) 文字が続く、任意の文字列のブロックに一致します。
|
||
\n
|
改行文字を示します。
|
(stress)\nは、サブ文字列「stress」を含み、「stress」の直後に2つの改行 (ASCII 0x0A) 文字が続く、任意の文字列のブロックに一致します。
|
||
\r
|
行頭復帰文字 (LF) を示します。
|
(stress)\rは、サブ文字列「stress」を含み、「stress」の直後に行頭復帰 (ASCII 0x0D) 文字が1つ続く、任意の文字列のブロックに一致します。
|
||
\b
|
バックスペース文字を示します。
|
(stress)\bは、サブ文字列「stress」を含み、「stress」の直後にバックスペース (ASCII 0x08) 文字が1つ続く、任意の文字列のブロックに一致します。
|
||
\xhh
|
指定された16進数コードのASCII文字を示します (hhは任意の2桁の16進数値を表します)。
|
\x7E(\w){6} は、先頭が~ (チルダ) 文字でちょうど6文字の英数字の「単語」を含む、任意の文字列のブロックに一致します。したがって、「~ab12cd」、「~Pa3499」が一致しますが、「~oops」は一致しません。
|