Java中正则验证数字

最近用到了java正则验证数字需求,上网查了一些,有的对有的不完善,自己根据示例,进行了修改,自己将不断地补充修改这里的方法,希望大家一起探讨。

public static boolean isNumber(String number) {   
  
    boolean isNumber = false;   
    int index = number.indexOf(",");   
    if (index >= 0) {   
       //有逗号等分隔符的数字  
        isNumber = number   
                .matches("[+-]?[1-9]+[0-9]*(,[0-9]{3})+(\\.[0-9]+)?");   
    } else {   
        isNumber = number.matches("[+-]?[1-9]+[0-9]*(\\.[0-9]+)?");   
  
    }   
    return isNumber;   
} 

   

1、整数

"^([1-9]\d*)|(0)$"

2、2011-10-10更新

//之前自己的:
"[+-]?(([1-9]+[0-9]*(\\.[0-9]+)?)|(0)|(0\\.[0-9]+))"

//优化后的:
"[+-]?((0|([1-9]+[0-9]*))(\\.[0-9]+)?)"

  

你可能感兴趣的:(java,正则验证数字)