2015-06-30 53 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()'和一些特殊的外殼來處理負數)。仍然不需要正則表達式。 –

相關問題