我想使用python re来匹配这种输入:12,13,45,23。
输入由四个非负整数组合,用","分隔。
然而,我觉得不合适......
print re.match(u'^([1−9]\d*|0),([1−9]\d*|0),([1−9]\d*|0),([1−9]\d*|0)$',u"0,1001,13,2")
#output is None
然而,下一次重新运作良好。
print re.match(u'^([1−9]\d*|0),([1−9]\d*|0),([1−9]\d*|0)$',u"0,1001,13")
#<_sre.SRE_Match object at 0x024151B0>
我完全糊涂了。
答案 0 :(得分:0)
为此,您不需要重复匹配每个整数的正则表达式,您可以使用{x}
其中x
是应该出现的次数,例如:< / p>
import re
matcher = re.compile(u"([1-9]\d*|0)(,([1-9]\d*|0)){3}$")
print matcher.match(u"12,45")
# None
print matcher.match(u"0,1001,13,578")
# <_sre.SRE_Match object at 0x7fb0e911ca48>