我是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
答案 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')