// 一个点代表一个字符,api解释为任何字符
p("abc".matches("..."));//true
p("123".matches("..."));//true
//把所有的数字替换成-,\d代表 数字 两个\\代表一个反斜线
p("a8729a".replaceAll("\\d", "-"));//a----a
p("a872d9a".replaceAll("\\d", "-"));//a---d-a
/**
* Pattern的两种用法
* 第一,Pattern p = Pattern.compile("a*b");Matcher m = p.matcher("aaaaab"); boolean b = m.matches();
* 第二,boolean b = Pattern.matches("a*b", "aaaaab");
*/
Pattern p = Pattern.compile("[a-z]{3}");//匹配三个小写字母
Matcher m = p.matcher("dgA");//false
m = p.matcher("123");//false
m = p.matcher("abdc"); //false
m = p.matcher("bac");//true
p(m.matches());
p("************************************************");
/**初步认识. * + ?,
* *号代表
*/
p("a".matches("."));//true
p("aa".matches("aa"));//true
p("aaaa".matches("a*"));//true 查api说明: X* X,零次或多次
// p("aaaa".matches("*"));//注意此正则表达式无效
p("aaaa".matches("a+"));//true 查Pattern类api X+ 表示X,一次或多次
p("abdx".matches("a+"));//false
p("".matches("a*"));//true,因为可以出现零次
p("ffg".matches("a*"));//false
p("aaaa".matches("a?"));//falseX? X,一次或一次也没有 ,在这里出现了多次所以是false
p("".matches("a?"));//true
p("a".matches("a?"));//true
起重p为
public static void p(Object o) {
System.out.println(o);
}
每天进步一点点