.net中的正则表达式(一)——转义字符
最近学习一下.net中的正则表达式,总结一下。
转义符 | 说明 | ||
---|---|---|---|
一般字符 |
除 .$ ^ { [ ( | ) * + ? \ 外,其他字符与自身匹配。 |
||
\a |
与响铃(警报)\u0007 匹配。 |
||
\b |
如果在 [] 字符类中,则与退格符 \u0008 匹配;如果不是这种情况,请参见本表后面的“注意”部分。 |
||
\B | 匹配非单词边界 | ||
\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 字符匹配。
|
||
\ |
在后面带有不识别为转义符的字符时,与该字符匹配。例如,\* 与 \x2A 相同。 |
||
\ |
注意 |
---|
转义字符 \b 是一个特例。在正则表达式中,\b 表示单词边界(在 \w 和 \W 之间),不过,在 [] 字符类中,\b 表示退格符。在替换模式中,\b 始终表示退格符。 |
"d |
匹配一个数字字符。等价于 [0-9]。 |
"D |
匹配一个非数字字符。等价于 [^0-9]。 |
"f |
匹配一个换页符。等价于 "x0c 和 "cL。 |
"n |
匹配一个换行符。等价于 "x0a 和 "cJ。 |
"r |
匹配一个回车符。等价于 "x0d 和 "cM。 |
"s |
匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ "f"n"r"t"v]。 |
"S |
匹配任何非空白字符。等价于 [^ "f"n"r"t"v]。 |
"t |
匹配一个制表符。等价于 "x09 和 "cI。 |
"v |
匹配一个垂直制表符。等价于 "x0b 和 "cK。 |
"w |
匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。 |
"W |
匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。 |
"xn |
匹配 n,其中 n为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如, '"x41' 匹配 "A"。'"x041' 则等价于 '"x04' & "1"。正则表达式中可以使用 ASCII 编码。. |
"num |
匹配 num,其中 num是一个正整数。对所获取的匹配的引用。例如,'(.)"1' 匹配两个连续的相同字符。 |
"n |
标识一个八进制转义值或一个后向引用。如果 "n 之前至少 n个获取的子表达式,则 n为后向引用。否则,如果 n为八进制数字 (0-7),则 n为一个八进制转义值。 |
"nm |
标识一个八进制转义值或一个后向引用。如果 "nm 之前至少有is preceded by at least nm 个获取得子表达式,则 nm为后向引用。如果 "nm 之前至少有 n个获取,则 n为一个后跟文字 m 的后向引用。如果前面的条件都不满足,若 n 和 m均为八进制数字 (0-7),则 "nm 将匹配八进制转义值 nm。 |
"nml |
如果 n为八进制数字 (0-3),且 m和 l均为八进制数字 (0-7),则匹配八进制转义值 nml。 |
"un |
匹配 n,其中 n是一个用四个十六进制数字表示的 Unicode 字符。例如, "u00A9 匹配版权符号 (?)。 |
\d |
匹配一个数字字符。等价于 [0-9]。 |
\D |
匹配一个非数字字符。等价于 [^0-9]。 |
\f |
匹配一个换页符。等价于 \x0c 和 \cL。 |
\n |
匹配一个换行符。等价于 \x0a 和 \cJ。 |
\r |
匹配一个回车符。等价于 \x0d 和 \cM。 |
\s |
匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。 |
\S |
匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。 |
\t |
匹配一个制表符。等价于 \x09 和 \cI。 |
\v |
匹配一个垂直制表符。等价于 \x0b 和 \cK。 |
\w |
匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。 |
\W |
匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。 |
\xn |
匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如, '\x41' 匹配 "A"。'\x041' 则等价于 '\x04' & "1"。正则表达式中可以使用 ASCII 编码。. |
\num |
匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,'(.)\1' 匹配两个连续的相同字符。 |
\n |
标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。 |
\nm |
标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有is preceded by at least nm 个获取得子表达式,则 nm 为后向引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。 |
\nml |
如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。 |
\un |
匹配 n,其中 n 是一个用四个十六进制数字表示的 Unicode 字符。例如, \u00A9 匹配版权符号 (?)。 |