如何将regex模式优先于anoth

2024-04-19 18:27:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我用正则表达式来提取大学的名字。主要观察到两种模式。

  1. “某个名字”大学-->;例如:安娜大学
  2. “某物”大学——前:埃克塞特大学

为此,我写了两个模式

regex = re.compile('|'.join([r'[Uu]niversity of (\w+){1,3}',r'(?:\S+\s){1,3}\S*[uU]niversity']))

但在少数情况下,我没有得到正确的预期答案。 例如

sentence  = "Biology Department University of Vienna"

对于这个句子,应用上面的正则表达式,我得到

"Biology Department University"

这是错误的。我觉得,因为这两个模式都会匹配,所以第二个模式被匹配,短语被提取出来。

我需要优先考虑第一个模式,以便在类似的场景中提取“某物大学”。

有人能帮忙吗


Tags: ofgtre模式名字regex大学department