Java 验证大于 20000 的数字的正则表达式
Java regular expression for validating a number greater than 20000
我有一个要求,我想验证一个应该大于 20000 且小于 100000 的数字。请帮助提供正则表达式。我对正则表达式很陌生。我有一个正则表达式来检查一个数字是否小于 20000
[1-9]\d{0,3}|1\d{4}|20000
如果这是学校作业,那么你不应该在这里提问。如果你正在为一个真正的程序做这个,最好将它解析为 int
(或者如果你允许非整数值,则可能是 double
),然后检查它是否在你想要的范围:
try {
int x = Integer.parseInt(in)
if (x <= 20000 || x >= 100000) {
//do what you want here for when it's not valid
} else {
//do what you want for a valid input here
}
} catch (NumberFormatException e) {
//Do something in case it's not a valid number here
}
现在,假设您有 String
类型的输入。如果它已经是数字类型,那么你不需要解析它 - 只需执行 if-else
子句。
^(?!20000)[2-9][0-9]{4}$
您需要的所有号码都是 5 位数。第一个数字可以是 2-9,其他数字可以是任何数字,只是您的列表中不能有 20000 在此范围内。让我们排除 1 个具有负前瞻性的数字 (?!20000),假设第一个数字只能是 2-9,应该跟在 4 个数字之后,但这些数字可以是任何数字。
https://regex101.com/r/wY6lA9/1
我有一个要求,我想验证一个应该大于 20000 且小于 100000 的数字。请帮助提供正则表达式。我对正则表达式很陌生。我有一个正则表达式来检查一个数字是否小于 20000
[1-9]\d{0,3}|1\d{4}|20000
如果这是学校作业,那么你不应该在这里提问。如果你正在为一个真正的程序做这个,最好将它解析为 int
(或者如果你允许非整数值,则可能是 double
),然后检查它是否在你想要的范围:
try {
int x = Integer.parseInt(in)
if (x <= 20000 || x >= 100000) {
//do what you want here for when it's not valid
} else {
//do what you want for a valid input here
}
} catch (NumberFormatException e) {
//Do something in case it's not a valid number here
}
现在,假设您有 String
类型的输入。如果它已经是数字类型,那么你不需要解析它 - 只需执行 if-else
子句。
^(?!20000)[2-9][0-9]{4}$
您需要的所有号码都是 5 位数。第一个数字可以是 2-9,其他数字可以是任何数字,只是您的列表中不能有 20000 在此范围内。让我们排除 1 个具有负前瞻性的数字 (?!20000),假设第一个数字只能是 2-9,应该跟在 4 个数字之后,但这些数字可以是任何数字。 https://regex101.com/r/wY6lA9/1