以下正则表达式的结果有点麻烦,匹配以下文本。我通常使用 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}) 处进行拆分,同时包括模式。所以到目前为止,我已经尝试了几个不同的后视和前瞻。
尝试的模式:
.+?(?=\= ..)
.+?(?<=\= ..)
(?=\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
)。任何见解为什么?
谢谢阅读。