这是我的代码Python的奇怪的错误使用正则表达式
>>> string="a 32GB 512MB "
>>> regex="(\d{1,4})(,|.){0,1}(\d{1,2}){0,1}\s*(KB|MB|GB)"
>>> import re
>>> res = re.findall(regex, string, re.IGNORECASE)
>>> print res
[('32', '', '', 'GB'), ('512', '', '', 'MB')]
>>> res=res[len(res)-1]
>>> print res
('512', '', '', 'MB')
>>> res="".join(res[0])
>>> print res
512
我不明白为什么
res="".join(res[0])
返回512,而不是512MB
恕我直言,并不奇怪。您只加入元组中的第一个字符串。做'res =“”。join(res)' – ozgur