| メタ文字 |
説明 |
| . |
任意の一文字に一致します。 |
| [ ] |
文字クラスを示します。
角かっこ内のいずれかの文字に一致します。
例えば、[abc] と指定した場合、"a"、"b"、および "c"
のいずれかに一致します。 |
| ^ |
文字クラスの先頭にこのメタ文字がある場合は、後に続く文字クラスが否定されます。
このように指定した文字クラスは、角かっこ内の文字以外の任意の文字に一致します。
例えば、[^abc] と指定した場合、"a"、"b"、および "c"
以外のすべての文字と一致します。
正規表現の先頭にある ^ は、入力文字列の先頭に一致します。
例えば、^[abc] と指定した場合、"a"、"b"、または "c"
で始まる入力文字列だけに 一致します。 |
| - |
文字クラスの中で使用され、文字の範囲を示します。
例えば、[0-9] と指定した場合、"0" から "9" までの任意の数字に一致します。 |
| ? |
直前の正規表現に一致する文字があるかないかわからない場合に使用します。
つまり、その正規表現が 0 回または 1 回出現するものと一致します。
例えば、[0-9][0-9]? と指定した場合、"2" と "12" のいずれにも一致します。 |
| + |
直前の正規表現の 1 回以上の繰り返しに一致します。
例えば、[0-9]+ と指定した場合、"1"、"13"、"666"
のいずれにも一致します。 |
| * |
直前の正規表現の 0 回以上の繰り返しに一致します。 |
| ??, +?, *? |
?、+、および * の最短一致。
可能な限り広範囲に一致する最長一致とは異なり、最小範囲に一致します。
例えば、"" という文字列がある場合、 <.*?> と指定すると
"" に一致し、<.*> と指定すると "" に一致します。 |
| ( ) |
グループ化演算子。
例えば、(\d+,)*\d+ と指定した場合、カンマで区切られた数字のリスト ("1"、"1,23,456"
など) に一致します。 |
| { } |
一致グループを示します。 |
| \ |
エスケープ文字。
次に続く文字が、特殊文字としてではなく通常の文字として解釈されます。
例えば、[0-9]+と指定した場合は1つ以上の数字に一致しますが、[0-9]\+と指定した場合は
1 つの数字にプラス記号が続いた文字列に一致します。
この文字は省略形としても使用されます。
例えば、\a は任意の英数字を示します。
次の表を参照してください。
\ の後ろに数字 n が続く場合は、n番目の一致グループに一致します。
番号は 0 から始まります。
\0 は正規表現全体を示します。
例えば、<{.*?}>.*?</\1> は "<head>Contents</head>"
に一致します。 |
| $ |
正規表現の末尾にある $ は、入力文字列の末尾に一致します。
例えば、[0-9]$ と指定した場合、入力文字列の末尾にある数字に一致します。 |
| | |
選択演算子。
この演算子で区切られた 2 つの正規表現のいずれかに一致します。
例えば、T|the と指定した場合、"The" または "the" に一致します。 |
| ! |
否定演算子。
! に続く正規表現は否定されます。
例えば、a!b と指定した場合、 後ろに "b" が続いていない "a"
に一致します。 |
省略形