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如果重叠的匹配不是从同一点开始,也可以使用。

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如果重叠的匹配不是从同一点开始,也可以使用。