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

2024-04-20 13:46:10 发布

您现在位置:Python中文网/ 问答频道 /正文

你好,我试图找到一个字符串中的所有degits,但它返回一个空列表

我的代码:

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

请问是什么错误?你知道吗


Tags: 字符串代码importre列表错误findalldegits
3条回答

您有一个错误的模式,首先需要\d,对于get all of digits,您可以将+添加到\d,以匹配一个或多个数字组合:

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

相关问题 更多 >