Python正则表达式搜索数字

时间:2012-07-16 14:04:01

标签: python regex

我是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.compile(r'1\d2\d3')
    m=prog.search(istr)
    if m:
        print i
        found=1
        break
    i=i+1

这将返回1312而不是10203

1 个答案:

答案 0 :(得分:5)

你的正则表达式是可以的(某种程度上),但你错了。你需要

m = prog.search(somestring)

或正则表达式only find a match if it is at the beginning of the string

此外,如果您真的只想在每组555之间允许一个数字,请使用

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