在我正在编写的程序中,我让 Python 使用re.search()
函数在文本块中查找匹配项并打印结果。但是,一旦在文本块中找到第一个匹配项,程序就会退出。
在找到所有匹配项之前程序不会停止的情况下,如何重复执行此操作?有一个单独的函数可以做到这一点吗?
Use re.findall
or re.finditer
反而。
re.findall(pattern, string)返回匹配字符串的列表。
re.finditer(pattern, string)返回一个迭代器MatchObject对象。
Example:
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']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)