1.常用方法
match() 从字符串开头开始匹配,开头匹配不上则返回none,只匹配一次
search() 不用从字符串开头开始匹配,字符串中有匹配的都行,只匹配一次
findall() 返回所有匹配的字符串,返回格式为列表
2.模式
(1)单字符匹配
模式 | 说明 |
---|---|
. | 任意一个字符,除了换行\n |
[] | 括号内的字符 |
\d | 数字 相当于[0-9] |
\D | 非数字 |
\s | 空白字符 [\n\t\r\f] |
\S | 非空白字符 |
\w | 单词字符 [a-zA-Z0-9_] |
\W | 非单词字符 |
(2)字符次数
模式 | 说明 |
---|---|
* | 0或多次前面的字符 |
+ | 1或多次前面的字符 |
? | 0或1次前面的字符 |
{m} | m次 |
{m,n} | m-n次,m省略0-n次,n省略m到无数次 |
(3)匹配边界
模式 | 说明 |
---|---|
^ | 匹配字符串开头 |
$ | 匹配字符串结尾 |
\b | 匹配单词边界,如’er\b’ 能匹配 ‘never’但不能匹配’verb’ |
\B | 匹配非单词边界,如’er\B’ 不能匹配 ‘never’ 能匹配’verb’ |
(4)分组
模式 | 说明 |
---|---|
| | 匹配左右任意一个模式 |
() | 将()中字符作为一个分组,group(num=0)方法可以分别提取:num为空或0代表全部匹配字符,num=1第一个分组 |