. |
任意の単一文字に一致します。 |
[ ] |
文字クラスを示します。 角括弧内の任意の文字に一致します(たとえば、 [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" に一致します)。 |