我想把它作为一个基本的Python正则表达式问题。 我有一个数据集
line = "(1,2) (2,3)"
它可以重复很多次,所以线也可以
line = "(1,2) (3,4) (6,5)"
我有一个正则表达式
rx = "(\(\s*\d+\s*,\s*\d+\s*\)\s*){2,}$"
我想要
a = re.match(rx,line).groups();
匹配
('(1,2)','(3,4)'...)
但我只能和最后一个(6,5)匹配。我需要最后的$,因为我不知道我可以有多少括号内的输入,否则一个不正确的输入,如
(1,2),(3,4),(5,6
将通过regexp。你知道吗
有什么建议吗?你知道吗
编辑: 添加了一个事实,即数据的格式没有精确到详细的程度。相反
line= 'blah(1,2) (2,3)blah'
所以确实需要正则表达式
谢谢
尝试使用
re.findall(rx, line)
瞧,不正则表达式的魔力:
如果您真的想使用正则表达式(我不是正则表达式专家,但它可以处理给定的数据):
或者听从夜贼的建议。最简单的答案往往是最好的答案。你知道吗
编辑:感谢Joran Beasley的建议。你知道吗
相关问题 更多 >
编程相关推荐