参考地址: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,},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),m 和 l 是八进制数 (0-7) 时,匹配八进制转义码 nml。
\un 匹配n,其中n是4位十六进制数的Unicode字符。
原文链接:https://www.f2er.com/regex/361569.html