. |
任意の単一文字に一致します。 |
[ ] |
文字クラスを示します。括弧内の任意の文字に一致します(たとえば、[abc] は「 A 」、「 B 」、「 C 」に一致します)。 |
^ |
このメタ文字が文字クラスの先頭にある場合、その文字クラスを否定します。否定文字クラスは、括弧内の文字を除くすべての文字と一致します(たとえば、[^abc] は「 a 」、「 b 」、「 c 」以外のすべての文字と一致します)。 ^ が正規表現の先頭にある場合は、入力の先頭に一致します(たとえば、^[abc] は「 a 」、「 b 」、または「 c 」で始まる入力にのみ一致します)。 |
- |
文字クラスでは、文字の範囲を示します(たとえば、[0-9] は「0」から「9」 のいずれかの数字に一致します)。 |
? |
直前の表現が任意であることを示し、表現が 1 回出現する場合とまったく出現しない場合に一致します(たとえば、[0-9][0-9]? は「2」と「12」に一致します)。 |
+ |
直前の表現が 1 回以上一致することを示します(たとえば、[0-9]+ は「 1」、「 13 」、「456」などに一致します)。 |
* |
直前の表現が 0 回以上一致することを示します。 |
??、+?、*? |
?、+、および * の最短一致を行うバージョンです。可能な限り最長一致を行うバージョンと異なり、これらは可能な限り最短の一致を行います(たとえば、入力 「<abc><def>」に対して、<.*?> は「<abc>」に一致し、<.*> は「<abc><def>」に一致します。) |
( ) |
グループ化演算子。例: (\d+,)*\d+ はコンマで区切られた数字のリストに一致します(たとえば、「1」または 「1,23,456」)。 |
{ } |
一致グループを示します。 |
\ |
エスケープ文字: 次の文字を文字どおりに解釈します(たとえば、[0-9]+ は 1 つ以上の数字に一致しますが、[0-9]\+ は 1 つの数字とそれに続くプラス文字に一致します)。略語にも使用されます(英数字の \a など。次の表を参照)。
¥ の後に数字 n がある場合は、n 番目の一致グループに一致します(0 から開始)。例: <{.*?}>.*</\0> は、「<head>Contents</head>」に一致します。
|
$ |
正規表現の末尾では、この文字は入力の末尾と一致します(たとえば、[0-9]$ は入力の末尾の数字と一致します)。 |
| |
代替演算子: 2 つの式を区切り、そのうちの 1 つが正確に一致するようにします(たとえば、T|the は「 The 」または「 the 」と一致します)。 |
! |
否定演算子: ! の次の式は入力と一致しません(たとえば、a!b は「 b 」が後に続かない「 a 」と一致します)。 |