正規表現における通常文字はそれ自体に一致します。通常文字は、特殊文字として説明されている文字以外の文字です。
( ) [ ] ^ $ . * + ? | ¥
特殊文字は、表に示すように、正規表現の一致動作に影響を与えます。任意の長さの文字シーケンスに一致する構文 (例えば、* + ? など) は、最も左にある、一致条件を満たす最長のストリングに常に一致します。
文字 | 意味 | 例 |
---|---|---|
^ | ストリングの先頭に一致します | "^abc" は、abc で始まるストリングに一致します |
$ | ストリングの末尾に一致します | "abc$" は、abc で終わるストリングに一致します |
. | 任意の単一の文字に一致します | "a.c$" は、abc や axc などを含むストリングに一致します |
* | 直前にある式の 0 回以上の繰り返しに一致します | "ab*c$" は、ac、abc、abbc などを含むストリングに一致します |
+ | 直前にある式の 1 回以上の繰り返しに一致します | "a+c$" は、abc、abbc、aggc などを含むストリングに一致しますが、ac を含むストリングには一致しません |
? | 直前にある式の 0 回または 1 回の繰り返しに一致します | "ab?c" は、ac または abc を含むストリングに一致します |
| | 直前にある式または直後にある式のいずれかに一致します | "a|b|c" は、a、b、または c を含むストリングに一致します |
[ ] | 大括弧の間に列挙されている単一のいずれかの文字に一致します | "[ab]c" は、ac または bc を含むストリングに一致します |
[^ ] | 大括弧の間に列挙されていない単一の任意の文字に一致します | "a[^b]c" は、axc (x は b 以外の文字) を含むストリングに一致します |
¥ | 直後の文字をエスケープします。円記号 (¥) 文字をストリングに埋め込むには、ストリング・リテラルに 2 つの連続する円記号を含める必要があります。 | "a¥.c$" は a.c を含むストリングに一致し、"a¥¥c$" は a¥c を含むストリングに一致します |
( ) | 副次式を区切ります | "a(b|c)*d*" は、a の後に任意の数の b または c が続き、その後に d が続く文字シーケンス (例えば "ad" や "acbbccd") を含むストリングに一致します |