正则表达式,仅限数字值,不带小数位

时间:2015-01-26 07:12:37

标签: java

没有小数位的java中仅数字值的正则表达式,或者只有1-9.0或1-9.00的小数位数是可接受的。

例如:12.00,12.0和12是可以接受的但12.12或小数点以外的数字是不可接受的。负值也是不可接受的。

2 个答案:

答案 0 :(得分:1)

如果你不介意零的数量,只要只有零,就用这个:

[\d]+[\.[0]+]?

如果你想特意允许一个或两个零使用它:

[\d]+[\.0|\.00]?

答案 1 :(得分:0)

使用它来测试10 10.0 10.00

之类的模式
    String s="12.00"; //your string to test
    Pattern p = Pattern.compile("[0-9]+(.(0|00))?");
    Matcher m = p.matcher(s);
    boolean b = m.matches();

如果您希望在点之后允许任意数量的0 10.00000..00

Pattern p = Pattern.compile("[0-9]+(.(0+))?");