常用模式字符串
. |
匹配除了换行符之外的任意字符 |
* | 0、1、多次 匹配 |
? | 0、1 匹配 |
() | 用括号指定需要提取的信息 |
两种匹配模式
贪婪模式 | 尽可能多的匹配 |
非贪婪模式 | 尽可能少的匹配 |
# ---常用模式字符串---
import re
str = 'python2019pythonpython'
pat1 = 'py...' # ...代表3个任意字符(除换行符)
r1 = (pat1, str)
print(r1)
输出结果:
['pytho', 'pytho', 'pytho']
pat2 = 'py.*' # .代表任意字符,*代表多次
r2 = (pat2, str)
print(r2)
输出结果:
['python2019pythonpython']
pat3 = 'py(.*)on' # 贪婪模式--尽可能多的去匹配
r3 = (pat3, str)
print(r3)
输出结果:
['thon2019pythonpyth']
pat4 = 'py(.*?)on' # 非贪婪模式--尽可能少的匹配
r4 = (pat4, str)
print(r4)
输出结果:
['th', 'th', 'th']