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