Video-01 No.2 专题_正则表达式
1、正则表达式主要用于字符串处理
?
用途:
?
字符串匹配(字符匹配)字符串查找字符串替换如:IP地址是否正确从网页中揪出email地址从网页中揪出链接类:java.lang.Stringjava.util.regex.Pattern(要匹配的模式)java.util.regex.Matcher(匹配模式后产生的结果)2、测试?3、抓取网页中EMAIL地址:?4、代码统计小程序? 5、//qulifiersGreedy 数量词X?X,一次或一次也没有X*X,零次或多次X+X,一次或多次X{n}X,恰好 n 次X{n,}X,至少 n 次X{n,m}X,至少 n 次,但是不超过 m 次?Reluctant 数量词X??X,一次或一次也没有X*?X,零次或多次X+?X,一次或多次X{n}?X,恰好 n 次X{n,}?X,至少 n 次X{n,m}?X,至少 n 次,但是不超过 m 次?Possessive 数量词X?+X,一次或一次也没有X*+X,零次或多次X++X,一次或多次X{n}+X,恰好 n 次X{n,}+X,至少 n 次X{n,m}+X,至少 n 次,但是不超过 m 次? 6、//back refenrences/** * (\\d\\d)\\1 :表示1212 第一次匹配12 ,\\1表示第二次匹配与group(1)相同为1212 * (\\d(\\d))\\2 : 表示122 第一次匹配12 \\2表示第二次匹配和group(2)相同2 所以匹配122 */Pattern p7 = Pattern.compile("(\\d(\\d))\\2");String sss = "1221222";Matcher m7 = p7.matcher(sss);while(m7.find()) {p(m7.group());}//flags的简写Pattern p8 = Pattern.compile("java", Pattern.CASE_INSENSITIVE);// ==p("java".matches("(?i)java")); //忽略大小写?