1. 程式人生 > >正則表示式匹配數值型別字串

正則表示式匹配數值型別字串

匹配數值型別字串的正則表示式


public class Test {
 public static void main(String[] args) {
  String reg = "^-?([1-9]\\d*|0)(\\.\\d+)?$";
  System.out.println("123456789".matches(reg));
  System.out.println("-123456789".matches(reg));
  System.out.println("123.3456789".matches(reg));
  System.out.println("-123.3344556677".matches(reg));
  System.out.println("0".matches(reg));
  System.out.println("-0".matches(reg));//唯一遺憾是-0也能匹配上,不想改了,改的話還要一個挺長的串
  System.out.println("0.0003".matches(reg));
  System.out.println("0.123456".matches(reg));
  System.out.println("-0.1345".matches(reg));
  System.out.println("-0.0003".matches(reg));
  System.out.println("--------------------");
  System.out.println("2016-12".matches(reg));
  System.out.println("1.3.3".matches(reg));
  System.out.println("00456".matches(reg));
  System.out.println("00.456".matches(reg));
  System.out.println("+456".matches(reg));
  System.out.println("-00.456".matches(reg));
 }
}


很全的一個帖子,關於正則表示式符號的解釋: 正則表示式全部符號解釋
正則表示式(括號)、[中括號]、{大括號}的區別小結