可以说我有一个字符串列表,
string_lst = ['fun', 'dum', 'sun', 'gum']
我想制作一个正则表达式,在其中的某个点,我可以匹配组中该列表中的任何字符串,例如:
import re
template = re.compile(r".*(elem for elem in string_lst).*")
template.match("I love to have fun.")
这样做的正确方法是什么?或者是否必须制作多个正则表达式并将它们全部分别匹配到字符串?
原文由 Josh Weinstein 发布,翻译遵循 CC BY-SA 4.0 许可协议
加入管道字符
|
的列表,它代表正则表达式中的不同选项。输出:
['fun']
您不能使用
match
因为它将从一开始就匹配。使用search
你只会得到第一场比赛。所以使用findall
代替。如果您有重叠匹配而不是从同一点开始,也可以使用 前瞻。