在文本中搜索正则表达式匹配时,re.search() 函数只会识别第一个匹配项。要查找模式的所有实例,请探索满足多个匹配项的替代选项。
re.findall 函数采用两个参数:正则表达式模式和目标字符串。它返回在字符串中找到的所有非重叠匹配的列表。
import re matches = re.findall(r'all (.*?) are', 'all cats are smarter than dogs, all dogs are dumber than cats') print(matches) # ['cats', 'dogs']
另一个选项是 re.finditer,它返回 MatchObject 对象的迭代器。
for match in re.finditer(r'all (.*?) are', 'all cats are smarter than dogs, all dogs are dumber than cats'): print(match.group()) # 'all cats are', 'all dogs are'
这些方法允许您处理给定字符串中的所有匹配项,从而在使用常规字符串时提供灵活性表达式。
以上是如何在 Python 中查找正则表达式的所有匹配项?的详细内容。更多信息请关注PHP中文网其他相关文章!