0

以下正则表达式的结果有点麻烦,匹配以下文本。我通常使用 regex101.com 帮助我快速查看正则表达式的输出,但这次 Regex101 和 Python 没有就相同的输出达成一致……我不知道为什么。

我正在解析的示例文本:

82% (37)\n31% (14)\n(missing = 8)\n76% (34)\n33% (15)\n(missing = 13)\n84% (38)\n53% (24)\n(missing = 7)\n18% (8)\n13% (6)\n(missing = 37)\n16% (7)\n13% (6)\n(missing = 39)

我只是在 (missing = \d(1,2}) 处进行拆分,同时包括模式。所以到目前为止,我已经尝试了几个不同的后视和前瞻。

尝试的模式:

  1. .+?(?=\= ..)
  2. .+?(?<=\= ..)
  3. (?=\d{2}\%).+?(?<=\= ..)

根据要求,链接到我目前正在尝试的内容: https ://regex101.com/r/JgaZ1n/1 https://regex101.com/r/JgaZ1n/2

reg=re.compile(r'.*?(missing = \d+)') reg.findall('82% (37)\n31% (14)\n(missing = 8)\n76% (34)\n33 %...ETC...')

我希望 are.findall()首先返回82% (37)\n31% (14)\n(missing = 8)....其他人,依此类推,但通常什么也得不到,或者只是其中包含的内容(缺少\d)。任何见解为什么?

谢谢阅读。

4

0 回答 0