当我尝试使用正则表达式在其他字符串中查找字符串时,它无法按预期工作。这是一个例子:
import re
message = 'I really like beer, but my favourite beer is German beer.'
keywords = ['beer', 'german beer', 'german']
regex = re.compile("|".join(keywords))
regex.findall(message.lower())
结果:
['beer', 'beer', 'german beer']
但预期的结果是:
['beer', 'beer', 'german beer', 'german']
另一种方法可能是:
results = []
for k in keywords:
regex = re.compile(k)
for r in regex.findall(message.lower()):
results.append(r)
['beer', 'beer', 'beer', 'german beer', 'german']
它像我想要的那样工作,但我认为这不是最好的方法。有人可以帮助我吗?