文字のエスケープ

重要な正規表現言語演算子のほとんどは、エスケープされない単一文字です。エスケープ文字 \ (単一の円記号) は、円記号の後ろの文字が演算子ではないことを正規表現パーサーに通知します。たとえば、パーサーはアスタリスク (*) を繰り返し量指定子として扱い、円記号とそれに続くアスタリスク (\*) は 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 文字と一致します。

Noteメモ :

.NET Framework では、Unicode を指定するために使用する Perl5 の文字エスケープはサポートされません。Perl 5 の文字エスケープは \x{####…} の形式です。ここで、"####…" は一連の 16 進数字です。代わりに、ここで説明されている .NET Framework 文字エスケープを使用します。

\

エスケープ文字として認識されない文字が後ろに付いている場合は、その文字と一致します。たとえば、\*\x2A と同じです。

Noteメモ :

エスケープ文字 \b は、特殊なケースです。正規表現の場合、\b はワード境界 (\w 文字と \W 文字の間) を表しますが、[] 文字クラスの内側では、\b はバックスペース文字を表します。置換パターンの場合、\b は常にバックスペースを表します。

参照

その他の技術情報

正規表現言語要素