-5

我在正则表达式方面相当糟糕,并且不确定如何处理这个数字范围。

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

4

1 回答 1

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.
于 2012-12-26T16:30:37.423 回答