分析:第一步 按照正确的数据进行拆分
第二步,找到没一部分的规律在编写
第三步再把每部分拼接起来
书写的时候从左到右进行书写
package regexdemo;
public class Regex2 {
public static void main(String[] args) {
//
//编写正则表达式验证用户名是否满要求,
// 大小写字母,数字,下划线一用3到16位
//验证身份证号码是否满足要求
//
//验证用户名
String regex1="\\w{3,16}";
System.out.println("zhangsan".matches(regex1));
System.out.println("zhang_12".matches(regex1));
System.out.println("34_er".matches(regex1));
System.out.println("_____________________________________________");
//验证身份证号码
//前6位,省份,市区,派出所等信息 第一位不能为0,后五位位任意 [1-9]\\d{5}
//年前半段 19 20 (19|20)
//年的后段 任意数字出现两次 \\d{2}
//月份;01-09 10 11 12 (0[1-9]|1[012]) 有|得用()括起来
//日期:01-31 (0[1-9]|[12][0-9]30|31)
//最后四位 前三位任意数字 后一位为数字或者X或者x \\d{3}\\d(?i)x
String regex2="[1-9]\\d{5}(19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[\\d(?i)xX]";
System.out.println("215478195602241254".matches(regex2));
System.out.println("21547819560224125x".matches(regex2));
System.out.println("21547819560224125X".matches(regex2));
System.out.println("***************************");
//忽略大小写的方式,
//在匹配的时候忽略abc大小写
String regex3="(?i)abc";//i为小写
System.out.println("ABc".matches(regex3));
//在匹配时忽略ab的大小写
String regex4="c(?i)ab";
System.out.println("caB".matches(regex4));
//在匹配时忽略bc大小写
String regex5="a(?i)bc";
System.out.println("aBc".matches(regex5));
/*
分析:第一步 按照正确的数据进行拆分 第二步,找到没一部分的规律在编写
第三步再把每部分拼接起来
书写的时候从左到右进行书写
*/
}
}