天天看点

正则表达式 验证是数字

1 java

   String num = "1.23";

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

   Matcher  mat =  pattern.matcher(num);

   if(mat.matches()){

       System.out.println("是数字");

   } else {

         System.out.println("不是数字");

   }

2 正则表达式

   -?[0-9]+.?[0-9]*     : 所有的数字  包括“23.” ,“1.5”, 返回true;

   -?[0-9]+.?[0-9]+     : 所有的数字  但不包括“23.”  返回false;

   -1.2   true; 1.1.3 false;  1..3 false;0.7 true;  23424.56 true

3 基础知识

  ?: 0个或1个;

   + : 1个或多个;

   *  : 0个或1个或多个;

例子 :-?[0-9]+.?[0-9]*     解释 :  一个或0个“-”负号    +   一个或者多个0~9的数字    +     一个或0个“.”小数点   +  0个或者一个或者多个0~9的数字