Python RE库的贪婪匹配和最小匹配

Python RE库的贪婪匹配和最小匹配_第1张图片Python RE库的贪婪匹配和最小匹配_第2张图片

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

其中满足条件的有:

1. PYAN
2. PYANBN
3. PYANBNCN
4. PYANBNCNDN

结果输出了一个最长的:PYANBNCNDN

叫做:贪婪匹配!
Python RE库的贪婪匹配和最小匹配_第3张图片Python RE库的贪婪匹配和最小匹配_第4张图片

>>> import re
>>> match = re.search(r'PY.*N', 'PYANBNCNDN')
>>> match.group(0)
'PYANBNCNDN'
>>> match = re.search(r'PY.*N', 'PYANBNCND')
>>> match.group(0)
'PYANBNCN'
>>> match = re.search(r'PY.*N', 'PYABNCND')
>>> match.group(0)
'PYABNCN'
>>> match = re.search(r'PY.*N', 'PYABHDHDH')
>>>

最上面的那一个就是没有满足条件的!

那么,如何输出最小的匹配呢?
Python RE库的贪婪匹配和最小匹配_第5张图片

match = re.search(r'PY.*?N', 'PYANBNCNDN')

Python RE库的贪婪匹配和最小匹配_第6张图片

>>> import re
>>> m = re.search(r'PY.*N', 'PYDFSNDFNJNCNIS')
>>> m.group(0)
'PYDFSNDFNJNCN'
>>> m = re.search(r'PY.*?N', 'PYDFSNDFNJNCNIS')
>>> m.group(0)
'PYDFSN'
>>>

Python RE库的贪婪匹配和最小匹配_第7张图片
Python RE库的贪婪匹配和最小匹配_第8张图片

课程地址:https://www.icourse163.org/learn/BIT-1001870001?tid=1003245012#/learn/content?type=detail&id=1004574448&cid=1005754054

你可能感兴趣的:(python,网络爬虫python)