package com.zking.newzs;
public class Test {
public static void main(String[] args) {
/*
* [abcd]:abcd四个字符中的 一个
* [^abc]:除了abc之外的任意一个字符
* | :或者
* (abc):abc为一组
* -:a-z 小写字母a到小写字母z,A-Z 0-9
* *:0次或多次
* +:1次或多次
* ?:0次或1次
* [a-z]+:a,abdasd 1231
* [A-Z]?:只能出现一次 或者不出现
* {n}:只能出现n次
* [0-9]{6}:必须有6个数字
* {n,}:最少出现n次
* [a-z]{6,}
* {n,m}:最少n次,最多m次
* .:除了\n意外的任意字符
* \d:相等于[0-9]
*/
//验证 只能是6位以上的数字
String str = "12313123";
//定义正则表达式
String reg = "^[0-9]{6,}$";
System.out.println(str.matches(reg));
str = "-1231312";
//非负整数:
reg = "^[0-9]+$";
System.out.println(str.matches(reg));
str = "-123a123";
//整数:正整数、负整数
reg = "^([0-9]+)|(-[0-9]+)$";
System.out.println(str.matches(reg));
//小数:1.0
str = "1.1a";
reg = "^([0-9]+\\.[0-9]+)|(-[0-9]+\\.[0-9]+)$";
reg = "^-?[0-9]+\\.[0-9]+$";
System.out.println(str.matches(reg));
//天:月份中的天:31天-
/*
* 0 1-9
* 1 0-9
* 2 0-9
* 3 01
*/
str = "1";
reg = "^0?[1-9]|[12][0-9]|3[01]$";
System.out.println(str.matches(reg));
//月:12
/*
* 0 1-9
* 1 0-2
*/
str = "121";
reg = "^0?[1-9]|1[0-2]$";
System.out.println(str.matches(reg));
//年:1900-3000
/*
* 1 9 0-9 0-9
* 2 0-9{3}
* 3 0{3}
*/
str = "2999";
reg = "^19\\d{2}|2\\d{3}|30{3}$";
System.out.println(str.matches(reg));
//网址:http://www.baidu.(com|cn|net)
str = "http://www.heiheihei.com";
reg = "^http://www\\.\\w{3,}\\.(com|cn|net)$";
System.out.println(str.matches(reg));
}
}