public static void main(String[] args) {
String idCard = "52812319900615qwer";
//将自定义的正则表达式 compile as Pattern 对象
Pattern p = Pattern.compile("^[0-9]*$");System.out.println(p);
//创建一个匹配自定义表达式的匹配器
Matcher m = p.matcher(idCard);System.out.println(m);
//开始根据自定义表达式匹配结果
boolean matches = m.matches();System.out.println(matches);
//上面三个步骤 合并为一个
boolean b = Pattern.matches("a*b", "aaaaab");
/*分组()小括号中的为分组 从1开始;0是全部字符串*/
Pattern birthDatePattern = Pattern.compile("\\d{6}(\\d{4})(\\d{2})(\\d{2}).*");
Matcher birthDateMather = birthDatePattern.matcher(idCard);
//返回idCard中是否能匹配中上面的自定义正则
boolean b1 = birthDateMather.find();System.out.println(b1);
String what = birthDateMather.group(0);System.out.println(what);
String year = birthDateMather.group(1);System.out.println(year);
String month = birthDateMather.group(2);System.out.println(month);
String date = birthDateMather.group(3);System.out.println(date);
}
String Class 中有一个 boolean matches(String regex) 可以直接进行正则匹配