pat = str('(?=.*University)(?=.*Business)|(?=.*School)(?=.*Business)|'
'(?=.*University)(?=.*Management)|(?=.*School)(?=.*Management)')
这将与纽约大学商学院相匹配;约翰逊管理学院。大学/学校和管理或大学/学校和管理层都必须在那里。
更好的解决方案不一定是正则表达式模式。例如,如果有办法使用in
执行此操作,我会非常感激。
答案 0 :(得分:2)
您可以将替换(…|…
)置于前瞻((?=…)
)内,如下所示:
(?=.*(University|School))(?=.*(Business|Management))
此模式将匹配包含University
或School
以及Business
或Management
的任何字符串。
当然,这不一定要使用正则表达式。你可以这样做:
if ("University" in string or "School" in string) and ("Business" in string or "Management" in string):
...