寻求帮助,应用正则表达式函数查找以5开头且长度为7位数字的字符串。

这是我到目前为止根据搜索得出的结果,但不起作用:

import re

string = "234324, 5604020, 45309, 45, 55, 5102903"
re.findall(r'^5[0-9]\d{5}', string)


不知道我在想什么。

谢谢

最佳答案

您正在使用^,它在字符串的开头声明位置。请改用单词边界。另外,您不需要[0-9]\d

使用\b5[0-9]{6}\b(或\b5\d{6}\b)代替:

>>> re.findall(r'\b5\d{6}\b', s)
['5604020', '5102903']

08-08 02:31