我列出了两个如下所示的关键字:
keywords = ["Azure", "Azure cloud"]
但是python无法找到第二个关键字“ Azure cloud”
>>> keywords = ["Azure", "Azure cloud"]
>>> r = re.compile('|'.join([re.escape(w) for w in keywords]), flags=re.I)
>>> word = "Azure and Azure cloud"
>>> r.findall(word)
['Azure', 'Azure']
我期望这样的输出:['Azure','Azure','Azure cloud']
任何指南/帮助将不胜感激!
您可以运行多个搜索。
import itertools
import re
keywords = ["Azure", "Azure cloud"]
patterns = [re.compile(re.escape(w), flags=re.I) for w in keywords]
word = "Azure and Azure cloud"
results = list(itertools.chain.from_iterable(
r.findall(word) for r in patterns
))
print(results)
输出:
['Azure', 'Azure', 'Azure cloud']