给定一个字符串,我如何提取所有正好4 位数字的序列?
也就是说,因为1234 12 12345 1bc5 9876
我想得到[1234, 9876]
.
我做到了re.findall('\D\d\d\d\d\D')
,但是在文本边界上失败了(当匹配之前/之后没有字符时)。
解决方案最好使用 Python 2.7,但我想这很笼统,任何语言都可以。
一般答案非常复杂,请参阅此处了解更多信息。但是在这种特殊情况下,我们可以简单地使用词边界断言\b
:
re.findall(r'\b\d{4}\b', ....)