需要一个2000到9999之间的数字范围的快速正则表达式

时间:2012-12-26 16:27:38

标签: java regex range numeric

我对正则表达式非常不满意,并且不确定如何进行此数值范围。

编辑:很抱歉模糊,我需要检查输入的字符串是否在数字范围2000到9999之间,它之前或之后都没有任何数字。

1 个答案:

答案 0 :(得分:5)

作为正则表达式,你可以写

[2-9][0-9][0-9][0-9]

[2-9][0-9]{3}

[2-9]\d{3}

[2-9]\p{Digit}{3}

这将为您提供2000到9999之间的所有数字,假设它们没有前导零。即002000或+2000将不匹配。

我会做的是

int i = Integer.parseInt(text);
if (2000 <= i && i <= 9999) 
   // ok.