我有一个像这样的字符串,需要解析成一个二维数组:
str = "'813702104[813702106]','813702141[813702143]','813702172[813702174]'"
数组等价物将是:
^{pr2}$我试着用正则表达式来做这个。上面的字符串隐藏在一个HTML页面中,但我可以确定它是页面上该模式中唯一的字符串。我不确定这是不是最好的办法,但这是我现在唯一的办法。在
imgRegex = re.compile(r"(?:'(?P<main>\d+)\[(?P<thumb>\d+)\]',?)+")
如果我运行imgRegex.match(str).groups()
我只得到一个结果(第一个对联)。我怎样才能得到多个匹配或一个2d匹配对象(如果这样的东西存在的话!)?在
注意:与它看起来的相反,这是不是家庭作业
我仍然得到这个问题的答案,所以我想我最好编辑一下,以表明为什么我不更改已接受的答案。拆分虽然在这个测试字符串上更有效,但不会从整个HTML文件中提取部分。我可以合并regex和拆分,但这看起来很傻。在
如果您确实有更好的方法从一堆HTML中找到部分(模式\d+\[\d+\]
对于源代码中的这个字符串是唯一的),我很乐意更改接受的答案。其他的都是学术性的。在
我会尝试}而不是{}。在
findall
或{编辑:是的
findall
工作非常出色,但我必须将regex简化为:我想我不会为这个任务使用regex。Python列表理解对此非常强大
稍微修改一下regexp
这是一个“二维数组”——在Python中是“2元组的列表”。在
相关问题 更多 >
编程相关推荐