正则表达式 元字符合集

时间:2022-12-20 18:51:32

参考地址:http://msdn.microsoft.com/zh-cn/library/ae5bf541(v=vs.80).aspx

 

字符        说明

\              将下一个字符标记为特殊字符、文本、反问引用或八进制转义字符。如\n换行等。

^             匹配输入字符串开始的位置。

$             匹配输入字符串结尾的位置。

*              零次或多次匹配前面的字符或子表达式,如zo*匹配"z“和”zoo“。

+             一次或多次匹配前面的字符或子表达式,如zo+匹配"zo”和“zoo”,但“z”不匹配。

?             零次或一次匹配前面的字符或子表达式,如do(es)?匹配“do”或“does”。

{n}           n为非负整数,正好匹配n次。

{n,}          至少匹配n次。

{n,m}       匹配至少n次,至多m次。

?             当?紧随其他限定符(*,+,?,{n},{n,},{n,m}后时,匹配是“非贪心的”,即匹配尽可能短。

.              匹配除"\n"外的任何单个字符。

(patt)       匹配pattern并捕获该匹配的子表达式。可用$0...$9从结果“匹配”集合中检索捕获的匹配。

(?:patt)    匹配pattern但不捕获该匹配的子表达式。

(?=patt)   执行正向预测先行搜索的子表达式,是非捕获匹配,如w(?=9|T)匹配“w9"中的w,但"w3”中的w不。匹配。

(?!patt)    执行反向预测先行搜索的子表达式,是非捕获匹配,如w(?=9|T)匹配“w3"中的w,但"w9”中的w不。匹配。

x|y           匹配x或y。

[xyz]        字符集,匹配xyz中的任一字符。

[^xyz]      反向字符集,匹配未包含的任何字符。

[a-z]        字符范围,匹配a到z字母。

[^a-z]      反向范围字符,匹配非a到z的字母。

\b            匹配一个字边界,即字与空格间的位置。如er\b匹配never中的"er"。

\B            非字边界匹配,er\B匹配verb中的er,但不匹配never中的er。

\cx           匹配x指示的控制字符,x在a-z或A-Z,如\cM匹配control-M或回车符。

\d             数字字符匹配。

\D            非数字字符匹配。

\f              换页符匹配。

\n             换行符匹配。

\r              匹配一个回车符。

\s             匹配空白字符,包括空格、制表符、换页符等,与\f\n\r\t\v等效。

\S             匹配非空白字符。

\t               制表符匹配

\v              垂直制表符匹配。

\w             匹配任何字符类字符,包括下划线。

\W            匹配非单词字符匹配。

\xn            匹配n,n为十六进制转义码。

\num         匹配num,num为正整数。

\n              标志八进制转义码。

\nm           标志八进制转义码。

\nml           当 n 是八进制数 (0-3),ml 是八进制数 (0-7) 时,匹配八进制转义码nml

\un             匹配n,其中n是4位十六进制数的Unicode字符。