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