您好我正在尝试查找字符串中的所有数字但它返回一个空列表
我的代码:
import re
re.findall(r'/d','5585858')
>>>> []
请问是什么错误?
答案 0 :(得分:2)
您的模式错误,首先需要\d
,并且要获取所有数字,您可以将+
添加到\d
以匹配1个或更多数字组合:
re.findall(r'\d+','5585858')
同样基于您的字符串,您可以使用其他功能,例如re.search
,这可能更有效。
如果您想将字符串转换为列表,只需使用list
:
>>> list('5585858')
['5', '5', '8', '5', '8', '5', '8']
答案 1 :(得分:1)
使用'\d+'
代替'/d'
>>> import re
>>> re.findall(r'\d+', '5585858')
['5585858']
答案 2 :(得分:0)
你甚至不需要正则表达式。
>>> [number for number in '5585a858' if number.isdigit()]
['5', '5', '8', '5', '8', '5', '8']