正则表达式
单个字符的正则匹配:
字符 | 匹配 |
---|---|
. | 匹配除了‘\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 | 指定的字符串必须出现在结尾 |
分组匹配:
字符 | 匹配 | |
---|---|---|
\ | 匹配左右任意一个表达式,相当与或 |