要一正则表达式检验用户输入的内容是否为金额类型的,下面这样匹配好象实现不了.
要求:(有小数点的情况下,小数点后面最多只有4位)
123,123.5 满足
123.54444,123.54.444不满足下面的不对,请大家帮忙.
/[^0-9.]/g

解决方案 »

  1.   

    import java.util.regex.*; 
       class Test{ 
        public static void main(String[] args){
                    String eno="1245,123.5.2"; 
                    Pattern pa =Pattern.compile("(\\d{1,3},)*(\\d{1,3})(\\.\\d{0,4})"); 
           Matcher ma = pa.matcher(eno);
     
             if(ma.matches()){ 
              System.out.print("ok"); 
              } 
              }
    }
      

  2.   

    /\b\d+(\.\d{1,3}){0,1}\b/大家看看这个写法对不对。