使用单行标志修饰符在正向超前获得匹配的第一个匹配项

问题描述 投票:0回答:1

我的正则表达式

(\d*,\d*) \d*/\d*(?=.*?Open Recall Check)

除了所有匹配项都匹配之外,其余所有匹配项...我只想在“打开召回检查”之前直接返回第一次里程匹配。相反,它可以匹配所有里程。

In my example at regex101.com,我得到29场比赛,但是其中,我只想返回这10场:

  • 75,115(与比赛1对应)
  • 92,748(与第7场比赛对应)
  • 62,300(对应第8场比赛)
  • 55,113(对应于比赛9)
  • 109,308(对应第11场比赛)
  • 138,131(对应于比赛17)
  • 125,197(对应于第24个比赛)
  • 55,335(对应于比赛25)
  • 69,100(与第28场比赛相对应)
  • 6,010(与比赛29相对应)

我虽然可以做到的一种方法是返回列表中的所有匹配项,然后仅过滤短语“ Open Recall Check”之前显示的所有匹配项,但是我无法弄清楚如何包括该短语在列表中10次(我尝试过的每一个正则表达式版本也包含29次...所以不是很有帮助)。

我可以进行哪些调整以获得所需的结果?

regex python-3.x
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.