数字1到100的Java REGEX

时间:2014-01-16 19:49:20

标签: java

我正在尝试编写REGEX以仅接受1-100之间的数字。如果它接受从1到无穷大的所有东西,那将是很棒的,但这可能是复杂的 - 或者是不可能的。

public static boolean isNumeric(String str) {
return str.matches("-?\\d+(\\.\\d+)?");
}//end boolean.

3 个答案:

答案 0 :(得分:3)

  

如果它接受从1到无穷大的所有东西,那将是很棒的,但这可能是复杂的 - 或者是不可能的。

如何简单"[1-9]\\d*"

这将接受非零数字,后跟任何数字序列。换句话说,任何正整数。

答案 1 :(得分:3)

public static boolean isNumeric(String str) throws NumberFormatException {
    int i = Integer.parseInt(str); 
    return i > 0 && i < 100; //Arbitrary numbers within range of int
}

不使用正则表达式,但这应该完成同样的事情。将字符串转换为整数,然后检查它是否在您想要的范围内。

答案 2 :(得分:1)

如果您想要非常彻底,可以使用"-?(0|([1-9][0-9]*))\.?[0-9]*",它应该为您提供从-infinity到+ inifinity的所有数字。摆脱-?会给你所有正数。 "0|(-?[1-9][0-9]*)"应该给你从-infinity到+ infinity的所有整数。 "[1-9][0-9]*"将为您提供大于0的所有整数。