2015-06-30 28 views
0

关于这个话题有几个问题,但他们都没有专门回答这个问题。如何匹配和打印Python中的逗号分隔数字列表?

如果我有p='([0-9]+)(,([0-9]+))*'s='1,2,3,4,5'的模式,并且我运行了m = re.match(p, s, 0),我得到一个匹配(如预期的那样)。但是,我希望能够打印清单('1', '2', '3', '4', '5')。我似乎无法通过re.match输出执行此操作。它给我('1', ',5', '5')

另外,如何获得匹配数(在本例中为5)?

回答

6

不要为此使用正则表达式。 s.split(',')将做你想要的。

+0

宾果。敏锐的观察者也会注意到这种模式与负数不匹配。 – radicalmatt

+0

如果字符串格式正确,则不会进行验证。 – vks

+0

不,但是依次验证每个片段要容易得多(使用例如's.isdigit()'和一些特殊的外壳来处理负数)。仍然不需要正则表达式。 –

相关问题