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

2024-03-29 13:53:00 发布

您现在位置:Python中文网/ 问答频道 /正文

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

如果程序在找到所有匹配项之前都没有停止,如何重复执行此操作?有没有一个单独的函数来做这个?


Tags: 函数文本程序research
1条回答
网友
1楼 · 发布于 2024-03-29 13:53:00

请改用re.findallre.finditer

^{}返回匹配字符串的列表。

^{}返回^{}对象上的迭代器。

示例:

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

[x.group() for x in re.finditer( r'all (.*?) are', 'all cats are smarter than dogs, all dogs are dumber than cats')]
# Output: ['all cats are', 'all dogs are']

相关问题 更多 >