2024-04-20 13:46:10 发布
网友
你好,我试图找到一个字符串中的所有degits,但它返回一个空列表
我的代码:
import re re.findall(r'/d','5585858') >>>> []
请问是什么错误?你知道吗
您有一个错误的模式,首先需要\d,对于get all of digits,您可以将+添加到\d,以匹配一个或多个数字组合:
\d
+
re.findall(r'\d+','5585858')
同样根据您的字符串,您可以使用其他函数,如re.search,这可能更有效。你知道吗
re.search
如果要将字符串转换为列表,只需使用list:
list
>>> list('5585858') ['5', '5', '8', '5', '8', '5', '8']
用'\d+'代替'/d'
'\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
,对于get all of digits,您可以将+
添加到\d
,以匹配一个或多个数字组合:同样根据您的字符串,您可以使用其他函数,如
re.search
,这可能更有效。你知道吗如果要将字符串转换为列表,只需使用
list
:用
'\d+'
代替'/d'
你甚至不需要正则表达式。你知道吗
相关问题 更多 >
编程相关推荐