1. 程式人生 > >爬蟲:Re庫的貪婪匹配和最小匹配

爬蟲:Re庫的貪婪匹配和最小匹配

貪婪匹配

Re庫預設採用貪婪匹配,即輸出匹配最長的子串。

>>> import re
>>> match=re.search(r'PY.*N','PYANBNCNDN')
>>> match.group(0)
'PYANBNCNDN'

最小匹配

如何輸出最短的子串呢?

對!那就加個問號吧~

>>> import re
>>> match=re.search(r'PY.*?N','PYANBNCNDN')
>>> match.group(0)
'PYAN'

                                                          最小匹配操作符

操作符 說明
*? 前一個字元0次或無限次擴充套件,最小匹配
+? 前一個字元1次或無限次擴充套件,最小匹配
?? 前一個字元0次或1次擴充套件,最小匹配
{m,n}? 擴充套件前一個字元m至n次(含n),最小匹配