gpt4 book ai didi

python - 单个正则表达式的多组匹配

转载 作者:太空狗 更新时间:2023-10-30 01:30:13 26 4
gpt4 key购买 nike

我正在用 python 解析日志,需要从中快速获取一些值

这是简单的等效正则表达式和用法示例

pat = re.compile("(1(2[3456]+2)+1)*")

它没有按预期工作,只有最后一个匹配组由 pat.match().groups() 返回

此类问题最简单的解决方案是什么?

已更新(如 wiki 引擎所说使用编辑而不是创建新帖子):

当然,我需要重复匹配。

to_match="1232112542254211232112322421"

正则表达式查找需要递归应用两次。我可以忍受,但有什么选择吗?

最佳答案

好的,试试这个(但前提是你学会了如何接受答案;-))

s = "123321124421125521"
pat = re.compile("(1(2[3456]+2)+1)")
print pat.findall(s)

删除量词并改用 findall()。这将产生这个列表:

[('123321', '2332'), ('124421', '2442'), ('125521', '2552')]

关于python - 单个正则表达式的多组匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8045885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com