字符转义

更新:2007 年 11 月

大多数重要的正则表达式语言运算符都是非转义的单个字符。转义符 \(单个反斜杠)通知正则表达式分析器反斜杠后面的字符不是运算符。例如,分析器将星号 (*) 视为重复限定符,而将后跟星号的反斜杠 (\*) 视为 Unicode 字符 002A。

下表中列出的字符转义在正则表达式和替换模式中都会被识别。

转义符

说明

一般字符

除 . $ ^ { [ ( | ) * + ? \ 外,其他字符与自身匹配。

\a

与响铃(警报)\u0007 匹配。

\b

如果在 [] 字符类中,则与退格符 \u0008 匹配;如果不是这种情况,请参见本表后面的“注意”部分。

\t

与 Tab 符 \u0009 匹配。

\r

与回车符 \u000D 匹配。

\v

与垂直 Tab 符 \u000B 匹配。

\f

与换页符 \u000C 匹配。

\n

与换行符 \u000A 匹配。

\e

与 Esc 符 \u001B 匹配。

\040

将 ASCII 字符匹配为八进制数(最多三位);如果没有前导零的数字只有一位数或者与捕获组号相对应,则该数字为后向引用。(有关更多信息,请参见反向引用。) 例如,字符 \040 表示空格。

\x20

使用十六进制表示形式(恰好两位)与 ASCII 字符匹配。

\cC

与 ASCII 控制字符匹配;例如,\cC 为 Ctrl-C。

\u0020

使用十六进制表示形式(恰好四位)与 Unicode 字符匹配。

说明:

.NET Framework 不支持用于指定 Unicode 的 Perl 5 字符转义。Perl 5 字符转义的格式是 \x{####¡­},其中“####¡­”是十六进制数字的序列。应改为使用本行中描述的 .NET Framework 字符转义。

\

在后面带有不识别为转义符的字符时,与该字符匹配。例如,\*\x2A 相同。

说明:

转义字符 \b 是一个特例。在正则表达式中,\b 表示单词边界(在 \w\W 之间),不过,在 [] 字符类中,\b 表示退格符。在替换模式中,\b 始终表示退格符。

请参见

其他资源

正则表达式语言元素