re.findall表现得很奇怪
源字符串是:
# Python 3.4.3s = r'abc123d, hello 3.1415926, this is my book'
这是我的模式:
pattern = r'-?[0-9]+(\\.[0-9]*)?|-?\\.[0-9]+'
但是,re.search
可以给我正确的结果:
m = re.search(pattern, s)print(m) # output: <_sre.SRE_Match object; span=(3, 6), match='123'>
re.findall
只是转出一个空列表:
L = re.findall(pattern, s)print(L) # output: ['', '', '']
为什么不能re.findall
给我预期的清单:
['123', '3.1415926']
HUX布斯
慕尼黑的夜晚无繁华