import re
pattern = "(?=.*今天)(?=.*天气)(?=.*如何)"
ipt = ["hi今天天气如何?","天气如何,今天","天气如何"]
for i in ipt:
res = re.match(pattern,i)
if res:
print(f"匹配到:{i}")
else:
print(f"未匹配:{i}")
/Users/logen/miniforge3/envs/pythonProject1/bin/python /Users/logen/PycharmProjects/pythonProject1/main.py
匹配到:hi今天天气如何?
匹配到:天气如何,今天
未匹配:天气如何
如果关键词有多个,可以用|拼接上面的正则多条,这样会导致正则很长。
另一个方法是用(a|b)拼接两个关键词,这样可以把正则写得短一些。