gpt4 book ai didi

Python正则表达式解析为二维数组

转载 作者:太空宇宙 更新时间:2023-11-03 12:35:29 25 4
gpt4 key购买 nike

我有一个像这样的字符串,我需要将其解析为二维数组:

 str = "'813702104[813702106]','813702141[813702143]','813702172[813702174]'"

数组等价物为:

arr[0][0] = 813702104
arr[0][1] = 813702106
arr[1][0] = 813702141
arr[1][1] = 813702143
#... etc ...

我正在尝试通过 REGEX 执行此操作。上面的字符串隐藏在 HTML 页面中,但我可以确定它是页面上该模式中的唯一字符串。我不确定这是否是最好的方法,但这就是我现在所拥有的。

imgRegex = re.compile(r"(?:'(?P<main>\d+)\[(?P<thumb>\d+)\]',?)+")

如果我运行 imgRegex.match(str).groups() 我只会得到一个结果(第一对联)。我该如何取回多个匹配项或二维匹配对象(如果存在这样的东西!)?

注意:与看起来相反,这不是作业

注意 part deux:真正的字符串嵌入在一个 HTML 文件中,因此拆分似乎不是一个选项。

我仍然在得到这个问题的答案,所以我想我最好编辑它以说明为什么我不更改已接受的答案。拆分虽然在此测试字符串上更有效,但不会从整个 HTML 文件中提取部分。我可以将正则表达式和拆分结合起来,但这看起来很愚蠢。

如果您确实有更好的方法从 HTML 负载中找到这些部分(模式 \d+\[\d+\] 是源代码中该字符串所独有的),我会愉快地更改已接受的答案。其他任何内容都是学术性的。

最佳答案

我会尝试使用 findallfinditer 而不是 match

Oli 编辑:是的,findall 工作出色,但我必须将正则表达式简化为:

r"'(?P<main>\d+)\[(?P<thumb>\d+)\]',?"

关于Python正则表达式解析为二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/346267/

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