Python 编写这个正则表达式模式以检查这些短语的连用出现的更好、更简洁的方法?

Python 编写这个正则表达式模式以检查这些短语的连用出现的更好、更简洁的方法?,python,regex,Python,Regex,这将与纽约大学商学院相匹配;约翰逊管理学院。大学/学校和管理层或大学/学校和管理层都必须在那里 更好的解决方案不一定是正则表达式模式。例如,如果有一种方法可以使用中的来实现这一点,我将不胜感激 您可以在lookaheads((?=…))内部放置替换()),如下所示: pat = str('(?=.*University)(?=.*Business)|(?=.*School)(?=.*Business)|' '(?=.*University)(?=.*Management)|(?=.*School

这将与纽约大学商学院相匹配;约翰逊管理学院。大学/学校和管理层或大学/学校和管理层都必须在那里


更好的解决方案不一定是正则表达式模式。例如,如果有一种方法可以使用中的
来实现这一点,我将不胜感激

您可以在lookaheads(
(?=…)
)内部放置替换(
),如下所示:

pat = str('(?=.*University)(?=.*Business)|(?=.*School)(?=.*Business)|'
'(?=.*University)(?=.*Management)|(?=.*School)(?=.*Management)')
(?=.*(University|School))(?=.*(Business|Management))
此模式将匹配包含
大学
学校
商业
管理
的任何字符串

当然,这不一定要用正则表达式来完成。您可以这样做:

pat = str('(?=.*University)(?=.*Business)|(?=.*School)(?=.*Business)|'
'(?=.*University)(?=.*Management)|(?=.*School)(?=.*Management)')
(?=.*(University|School))(?=.*(Business|Management))
简洁明了。:)+1.