string_lst = ['fun', 'dum', 'sun', 'gum']
x="I love to have fun."
print re.findall(r"(?=("+'|'.join(string_lst)+r"))",x)
您不能使用match
它,因为它会从开始就匹配。请findall
改为使用。
输出:['fun']
使用search
您只会得到第一场比赛findall
。因此请改用。
lookahead
如果重叠的匹配不是从同一点开始,也可以使用。
如何从python中的正则表达式中的字符串列表中匹配任何字符串?
string_lst = ['fun', 'dum', 'sun', 'gum']
x="I love to have fun."
print re.findall(r"(?=("+'|'.join(string_lst)+r"))",x)
您不能使用match
它,因为它会从开始就匹配。请findall
改为使用。
输出:['fun']
使用search
您只会得到第一场比赛findall
。因此请改用。
lookahead
如果重叠的匹配不是从同一点开始,也可以使用。