搜索数字的Python正则表达式

搜索数字的Python正则表达式,python,regex,Python,Regex,我不熟悉正则表达式,但通过查看字符串来查找模式是否存在 我已尝试使用以下python代码: prog=re.compile('555.555.555') m=prog.match(somestring) if m: print somestring 我试着找出3组5,以任意数字分隔。但是,这段代码没有返回我要查找的内容 有什么建议吗 编辑: 下面是一些测试更基本版本的代码: i,found=0,0 while found==0: istr=str(i) prog=re.comp

我不熟悉正则表达式,但通过查看字符串来查找模式是否存在

我已尝试使用以下python代码:

prog=re.compile('555.555.555')
m=prog.match(somestring)
if m: print somestring
我试着找出3组5,以任意数字分隔。但是,这段代码没有返回我要查找的内容

有什么建议吗

编辑:

下面是一些测试更基本版本的代码:

i,found=0,0
while found==0:
    istr=str(i)
    prog=re.compile(r'1\d2\d3')
    m=prog.search(istr)
    if m:
        print i
        found=1
        break
    i=i+1
这将返回1312,而不是10203。您的正则表达式是正常的(有点),但您使用的是错误的。你需要

m = prog.search(somestring)
或者正则表达式会

此外,如果您确实只想在每组
555
s之间允许一个位数,请使用

prog = re.compile(r'555\d555\d555')
你的正则表达式还行(有点),但你用错了。你需要

m = prog.search(somestring)
或者正则表达式会

此外,如果您确实只想在每组
555
s之间允许一个位数,请使用

prog = re.compile(r'555\d555\d555')

您可能想要“555\d+555\d+555”?请举例说明。什么是示例
somestring
?我猜您也希望使用
prog.search
而不是
prog.match
示例somestring:12345552152小旁白:我建议您阅读。例如,您应该在赋值运算符
=
周围加空格(除非用于关键字参数)。您可能想要“555\d+555\d+555”?请举例说明。什么是示例
somestring
?我猜您也希望使用
prog.search
而不是
prog.match
示例somestring:12345552152小旁白:我建议您阅读。例如,您应该在赋值运算符
=
周围加空格(除非用于关键字参数)。感谢帮助Tim-查看说明中的其他信息帮助Tim-查看说明中的其他信息