今天爱分享给大家带来Python里面search()和match()的区别是什么【面试题详解附代码】,希望能够帮助到大家。
它们两个都在re模块中
·match()函数是在string的开始位置匹配,如果不匹配,则返回None;
·search()会扫描整个string查找匹配;
match()
>>> import re
>>> print(re.match('hello','helloworld').span()) # 开头匹配到
(0, 5)
>>> print(re.match('hello','nicehelloworld').span()) # 开头没有匹配到
Traceback (most recent call last):
File "", line 1, in
print(re.match('hello','nicehelloworld').span())
AttributeError: 'NoneType' object has no attribute 'span'
>>>
search()
>>> print(re.search('a','abc'))
<_sre.SRE_Match object; span=(0, 1), match='a'>
>>> print(re.search('a','bac').span())
(1, 2)
>>>
结论:match() 使用限制更多
原文链接:https://blog.itblood.com/2368.html,转载请注明出处。

![妖狐的深夜直播V20250918 官方中文正式步兵版+存档[更新][12.2G] [互动SLG/中文/动态]](/wp-content/uploads/replace/2025/10/08/89b53e69c0cd3728e198b356107b882b.webp)