文字のエスケープ
重要な正規表現言語演算子のほとんどは、エスケープされない単一文字です。エスケープ文字 \ (単一の円記号) は、円記号の後ろの文字が演算子ではないことを正規表現パーサーに通知します。たとえば、パーサーはアスタリスク (*) を繰り返し量指定子として扱い、円記号とそれに続くアスタリスク (\*) は Unicode 文字 002A として扱います。
正規表現と置換パターンの両方で認識される文字のエスケープの一覧を次の表に示します。
エスケープ文字 | 説明 | ||
---|---|---|---|
通常の文字 |
.$ ^ { [ ( | ) * + ? \ 以外の文字は、それ自体に一致します。 |
||
\a |
ベル (アラーム) の \u0007 と一致します。 |
||
\b |
[] 文字クラスの中にある場合は、バックスペースの \u0008 と一致します。それ以外の場合は、この表の後ろにあるメモを参照してください。 |
||
\t |
タブの \u0009 と一致します。 |
||
\r |
キャリッジ リターンの \u000D と一致します。 |
||
\v |
垂直タブの \u000B と一致します。 |
||
\f |
フォーム フィードの \u000C と一致します。 |
||
\n |
改行文字の \u000A と一致します。 |
||
\e |
エスケープ文字の \u001B と一致します。 |
||
\040 |
8 進数 (3 桁まで) で表される ASCII 文字と一致します。数値の先頭にゼロがない場合、数値が 1 桁であるか、対応するキャプチャ グループ番号が存在すると、数値は前方参照であると見なされます。詳細については、「前方参照」を参照してください。たとえば、文字 |
||
\x20 |
16 進数 (2 桁) で表される ASCII 文字と一致します。 |
||
\cC |
ASCII 制御文字と一致します。たとえば、 |
||
\u0020 |
16 進数 (4 桁) で表される Unicode 文字と一致します。
|
||
\ |
エスケープ文字として認識されない文字が後ろに付いている場合は、その文字と一致します。たとえば、\* は \x2A と同じです。 |
メモ : |
---|
エスケープ文字 \b は、特殊なケースです。正規表現の場合、\b はワード境界 (\w 文字と \W 文字の間) を表しますが、[] 文字クラスの内側では、\b はバックスペース文字を表します。置換パターンの場合、\b は常にバックスペースを表します。 |