python非贪婪正则表达式的问题
代码:import re
s='sdfsdfklj,{ goodby jone,sdfkljsl,dfjl },sdjfljl{sd,dfkljsdklf}'
m=re.search(r"{.*\,.*?}",s)
print "m is :",m.group(0)
n=re.search(r"{.*?}",s)
print "n is :",n.group(0)
输出:
m is : { goodby jone,sdfkljsl,dfjl },sdjfljl{sd,dfkljsdklf}
n is : { goodby jone,sdfkljsl,dfjl }
我不明白m中就是加了一个逗号,都是使用的贪婪表达式,为什么第一个m就不能得到正确结果?
另外如何写才能将两个{}及里面的内容取出来?
In : n=re.findall(r"{.*?}",s)
In : n
Out: ['{ goodby jone,sdfkljsl,dfjl }', '{sd,dfkljsdklf}'] 谢谢楼上,我明白为什么加上一个逗号非贪婪为什么失效了。
页:
[1]