如何在Python中找到与正则表达式的所有匹配?

时间:2011-01-15 03:53:07

标签: python regex search

在我正在编写的程序中,我使用Python re.search()函数来查找文本块中的匹配项并打印结果。但是,程序一旦找到文本块中的第一个匹配就会退出。

如果在找到所有匹配项之前程序没有停止,我该如何反复执行此操作?是否有单独的功能来执行此操作?

1 个答案:

答案 0 :(得分:449)

改为使用re.findallre.finditer

re.findall(pattern, string)返回匹配字符串列表。

re.finditer(pattern, string)返回MatchObject个对象上的迭代器。

示例:

re.findall( r'all (.*?) are', 'all cats are smarter than dogs, all dogs are dumber than cats')
# Output: ['cats', 'dogs']