正则表达式的一些总结(供自己复习使用)
今天复习了一下正则表达式,特此总结以备以后再次复习使用。
.
|
匹配任何单个字符。例如正则表达式“b.g”能匹配如下字符串:“big”、“bug”、“b g”,但是不匹配“buug”,“b..g”可以匹配“buug”。
|
[ ]
|
匹配括号中的任何一个字符。例如正则表达式“b[aui]g”匹配bug、big和bag,但是不匹配beg、baug。可以在括号中使用连字符“-”来指定字符的区间来简化表示,例如正则表达式[0-9]可以匹配任何数字字符,这样正则表达式“a[0-9]c”等价于“a[0123456789]c”。
|
( )
|
将 () 之间括起来的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域,这个元字符在字符串提取的时候非常有用。把一些字符表示为一个整体。改变优先级、定义提取组两个作用。
|
|
|
将两个匹配条件进行逻辑“或”运算。'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。
|
*
|
匹配0至多个在它之前的子表达式
|
+
|
匹配前面的子表达式一次或多次
|
?
|
匹配前面的子表达式零次或一次
|
{n}
|
匹配确定的 n 次
|
{n,}
|
至少匹配n次,>=n.
|
{n,m}
|
最少匹配 n 次且最多匹配 m 次,n<=x<=m.
|
^
|
匹配一行的开始。例如正则表达式“^regex”能够匹配字符串“regex我会用”的开始,但是不能匹配“我会用regex”。
^另外一种意思:非!.如q[^u],就是匹配p后面不跟u的字符串
|
$
|
匹配行结束符。
|
\d
|
–代表一个数字,等同于[0-9]
|
\D
|
–代表非数字,等同于[^0-9]
|
\s
|
代表换行符、Tab制表符等空白字符
|
\S
|
代表非空白字符
|
\w
|
匹配字母或数字或下划线或汉字,经在c#环境中测试,可以匹配汉字。
|
\W
|
–非\w ,等同于[^\w]
|
注: d:digital;s:space、w:word。大写就是“非”。