我不明白为什么我的正则表达式提取不会返回所有出现的事件(https://regex101.com/r/1yWpq6/1):
import re
s = """
_('hello')
foo
_('world')
bar
"""
print(re.search('_\(\'(.*)\'\)', s, re.MULTILINE).groups())
产生
('你好',)
我希望``('你好','世界')
为什么只有口渴才能恢复?
答案 0 :(得分:0)
你需要像这样使用re.findall()
:
print(re.findall('_\(\'(.*)\'\)', s))
<强>输出:强>
>>> import re
>>>
>>> print(re.findall('_\(\'(.*)\'\)', s))
['hello', 'world']
答案 1 :(得分:0)
print(re.findall('_\(\'(.*)\'\)', s, re.MULTILINE))
出:
['hello', 'world']
re.search(pattern, string, flags=0)
扫描字符串寻找 正则表达式模式产生匹配的位置,和 返回相应的匹配对象。
re.findall(pattern, string, flags=0)
返回所有非重叠 字符串中的模式匹配,作为字符串列表。