這是我的代碼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