您好IAM試圖找到一個字符串的所有degits但它返回一個空列表我怎樣才能找到使用正則表達式在python字符串中的所有數字
我的代碼:
import re
re.findall(r'/d','5585858')
>>>> []
什麼請錯誤?
您好IAM試圖找到一個字符串的所有degits但它返回一個空列表我怎樣才能找到使用正則表達式在python字符串中的所有數字
我的代碼:
import re
re.findall(r'/d','5585858')
>>>> []
什麼請錯誤?
你有一個錯誤的模式,你需要\d
第一和得到所有的數字,你可以添加+
到\d
爲匹配1個或多個組合的數字:
re.findall(r'\d+','5585858')
也可根據您的字符串,你可以使用其他功能如re.search
可能更有效。
如果你想你的字符串列表轉換,你可以簡單地使用list
:
>>> list('5585858')
['5', '5', '8', '5', '8', '5', '8']
使用'\d+'
代替'/d'
>>> import re
>>> re.findall(r'\d+', '5585858')
['5585858']
你甚至都不需要一個正則表達式。
>>> [number for number in '5585a858' if number.isdigit()]
['5', '5', '8', '5', '8', '5', '8']
它是'\ d'。不是你寫的'/ d'。 – 2015-04-01 07:46:07
[c for s in if if「0」<= c <=「9」] – 2015-04-01 07:49:09
雖然我更喜歡使用isdigit()來檢查一個字符是否是一個數字,但這也很好。 – TigerhawkT3 2015-04-01 07:53:28