re.search 和 re.match

时间:2024-04-17 20:06:36

相同点:

都返回找到的第一个匹配对象

>>> import re
>>> m = re.search('(\w+) (\w+)', 'aaa bbb ccc ddd')
>>> m.group(0)
'aaa bbb'
>>> m = re.match('(\w+) (\w+)', 'aaa bbb ccc ddd')
>>> m.group(0)
'aaa bbb'

不同点:

re.match从字符串的起始位置开始匹配;

re.search从任意位置开始匹配。

>>> re.search('(\w+)', ' aaa')
<_sre.SRE_Match object at 0x0000000002AF6378>
>>> re.match('(\w+)', ' aaaa') is None
True