1.常用方法
match() 从字符串开头开始匹配,开头匹配不上则返回none,只匹配一次
search() 不用从字符串开头开始匹配,字符串中有匹配的都行,只匹配一次
findall() 返回所有匹配的字符串,返回格式为列表
2.模式
(1)单字符匹配
| 模式 | 说明 |
|---|---|
| . | 任意一个字符,除了换行n |
| [] | 括号内的字符 |
| d | 数字 相当于[0-9] |
| D | 非数字 |
| s | 空白字符 [ntrf] |
| 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 | 匹配单词边界,如’erb’ 能匹配 ‘never’但不能匹配’verb’ |
| B | 匹配非单词边界,如’erB’ 不能匹配 ‘never’ 能匹配’verb’ |
(4)分组
| 模式 | 说明 |
|---|---|
| | | 匹配左右任意一个模式 |
| () | 将()中字符作为一个分组,group(num=0)方法可以分别提取:num为空或0代表全部匹配字符,num=1第一个分组 |



