match、search、findall用法区别

match:从字符串首字母开始匹配,如果匹配成功,则返回Match对象,反之返回空。若想获取返回Match对象转为值,则用group()方法
search:从这个整个字符串匹配,如果匹配成功,则返回Match对象,反之返回空。若想获取返回Match对象转为值,则用group()方法
注:

  • 1、match和search匹配成功返回的值是一样的,都是Match对象。

  • 2、match和search匹配时,当匹配到一个符合正则表达式时,就立即返回Macth对象,之后的字符串将不会将匹配。
    也就是说match和search匹配成功的结果中只有一个Macth对象,失败返回None。

findall:匹配所有的字符串,返回的是list。

import re
s = '3123C72D1D8E67'
r = re.match('\d',s)
print(r)
r1 = re.search('\d',s)
print(r1.group())
r2 = re.findall('\d',s)

结果

<_sre.SRE_Match object; span=(0, 1), match='3'>
3
['3', '1', '2', '3', '7', '2', '1', '8', '6', '7']
    原文作者:看透&说不透
    原文地址: https://blog.csdn.net/weixin_43059645/article/details/82047665
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞