如何在python中使用regexp查找字符串中的所有数字

时间:2015-04-01 07:43:51

标签: python regex

您好我正在尝试查找字符串中的所有数字但它返回一个空列表

我的代码:

import re
re.findall(r'/d','5585858')
>>>> []

请问是什么错误?

3 个答案:

答案 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']