0
点赞
收藏
分享

微信扫一扫

Python re.match search findall区别


平常查找文本内容,经常用到Python正则模块re的match/search/findall三个函数,容易混,现在写下来备用。

函数

定义

返回值

​re.search(pattern, string, flags=0)​

搜索第一个匹配的字符串

​None​​​或​​match​​对象

​re.match(pattern, string, flags=0)​

搜索第一个以​​pattern​开头的字符串

​None​​​或​​match​​对象

​re.findall(pattern, string, flags=0)​

搜索所有匹配

列表,如果有多个分组,则返回元组的列表

import re
s = "abcabc"
re.search('bc', s) # <_sre.SRE_Match object; span=(1, 3), match='bc'>
re.match('bc', s) # None
re.match('ab', s) # <_sre.SRE_Match object; span=(0, 2), match='ab'>
re.findall('bc', s) # ['bc', 'bc']
re.findall('(b)(c)', s) # [('b', 'c'), ('b', 'c')]

参考:​​https://docs.python.org/3/library/re.html#re.findall​​


举报

相关推荐

0 条评论