正则表达式 正则表达式语言元素 字符转义 多数重要的正则表达式语言运算符都是非转义的单个字符。转义符 \(单个反斜杠)通知正则表达式分析器反斜杠后面的字符不是运算符。例如,分析器将星号 (*) 视为重复限定符,而将后跟星号的反斜杠 (\*) 视为 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 始终表示退格符。 替换 只在替换模式中允许替换。对于正则表达式中的类似功能,使用后向引用(如 \1)。有关后向引用的详细信息,请参见反向引用和后向引用构造。 字符转义和替换是在替换模式中识别的唯一的特殊构造。下面几部分描述的所有语法构造只允许出现在正则表达式中;替换模式中不识别它们。例如,替换模式 a*${txt}b 会插入字符串“a*”,该字符串后跟按 txt 捕获组匹配的子字符串,该子字符串后跟字符串“b”(如果有)。在替换模式中,* 字符不会识别为元字符。与此类似,在正则表...