正则表达式语法

正则表达式

单个字符的正则匹配:

字符 匹配
. 匹配除了‘\n’以外的任意单个字符
[…] 匹配字符集中的任意字符(即两个中括号表示字符集).如[a-z]匹配任意一个小写字母,[ab]匹配a或b,[a-zA-Z]匹配任意字母
\d 匹配任意一个数字
\D 匹配任意一个非数字
\s 匹配空白字符
\S 匹配非空白字符
\w 匹配一个单词字符,即[a-zA-Z0-9]
\W 匹配一个非单词字符

多个字符的匹配(与单个字符相结合使用):

字符 匹配
* 匹配前一个字符0到无限次
+ 匹配前一个字符1到无限次
? 匹配前一个字符0次或1次
{m} 匹配前一个字符m次
{m,n} 匹配前一个字符m次到n次
*? 非贪婪地进行匹配,对于则最少匹配0次,如1[a-z]?匹配1a时只匹配到1
+? 非贪婪地进行匹配,对+则最少匹配一次
?? 非贪婪地进行匹配,对?则最少匹配0次

边界匹配:

字符 匹配
^ 匹配字符串的开头
$ 匹配字符串的结尾
\A 指定的字符串必须出现在开头,如\Ahzh[\w]*匹配以hzh开头的任意字符串
\Z 指定的字符串必须出现在结尾

分组匹配:

字符 匹配
\ 匹配左右任意一个表达式,相当与或