正整数的正则表达式,2到4位但没有00,000或0000

时间:2015-08-08 20:02:33

标签: regex

我想使用正则表达式来匹配正整数,至少为2但不超过4位。我知道我可以用这个正则表达式做到这一点:^ \ d {2,4} $

现在,我想要排除00,000,0000以及02,003,0001等前导零。任何建议?

提前致谢。

2 个答案:

答案 0 :(得分:1)

可能是这样的:

^[1-9]\d{1,3}$

第一部分,[1-9]确保第一个数字不是0,之后,任何数字都可以跟随,最多总共4个。

答案 1 :(得分:1)

您可以使用在开头锚定的前瞻来施加限制:

^(?!0+)\d{2,4}$

请参阅demo

否定前瞻(?!0+)检查字符串的开头(因为它位于^锚之后),如果有任何1个或多个零(0+)。