Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在正则表达式方面相当糟糕,并且不确定如何处理这个数字范围。
编辑:抱歉含糊不清,我需要检查输入的字符串是否在数字范围 2000 到 9999 之间,它之前或之后不会有任何数字。
作为正则表达式,您可以编写
[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.