RT比如 100 要能过 100.5 也要能过.
现在的处理是让他match "\\d+" 也就是int型 或者 match "\\d+\\.?\\d+" 也就是带小数点的
能不能写成一个正则表达式.

解决方案 »

  1.   

    (\\.[\\d]+)|([\\d]+\\.[\\d]+)|([\\d]+)测试
    .5
    10.5
    10
    通过
      

  2.   

    在java里面 是不是要写成 ([\\d]+)(\\.[\\d]{0,2})?
    要不会报错
      

  3.   

    package net.xiaobin.test;import java.util.regex.Pattern;public class RegexTest { private static void run(String args) {
    Pattern fPattern = Pattern.compile("^\\d{1,}\\.\\d{1,2}$");
    Pattern iPattern = Pattern.compile("^\\d{1,}$");
    if (fPattern.matcher(args).find()) {
    System.out.println(args + ":浮点型");
    } else if (iPattern.matcher(args).find()) {
    System.out.println(args + ":整型");
    } else {
    System.out.println(args + ":类型未知");
    }
    } public static void main(String[] args) {
    run("0.01");
    run("0.001");
    run("100.03");
    run("50");
    run("50.1");
    }
    }