我对正则表达式非常不满意,并且不确定如何进行此数值范围。
编辑:很抱歉模糊,我需要检查输入的字符串是否在数字范围2000到9999之间,它之前或之后都没有任何数字。
答案 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.