2012-05-05 98 views
1

給定一個字符串,如何提取的所有序列正好是的4位數字?提取年份的正則表達式

也就是說,對於1234 12 12345 1bc5 9876我想要得到[1234, 9876]

我得到了儘可能多的re.findall('\D\d\d\d\d\D'),但是在文本邊界上失敗(當匹配之前/之後沒有字符時)。


解決方案最好使用Python 2.7,但我想這是相當普遍的,任何語言都可以。

回答

7

一般的答案是驚人的複雜,更多信息請參閱here。然而,在這種特殊情況下,我們可以簡單地使用單詞邊界斷言\b

re.findall(r'\b\d{4}\b', ....)