packagecom.zwj.string;importjava.util.regex.MatchResult;importjava.util.regex.Matcher;importjava.util.regex.Pattern;public classMatcherDemo {public static voidmain(String[] args) {//userStringRegular();//userMatcherRegular();
userMatcherResultRegular();
}
public static voiduserStringRegular() {
String str1= "1 2 3 4 54 5 6";
String[] numbers= str1.split(" +");for(String temp : numbers) {
System.out.println(temp);
}//替換,替換所有的數字為* abd***:adad*****:asdadasadsfgi#%^^****
String str2 = "abd123:adad46587:asdadasadsfgi#%^^9090";
System.out.println(str2.replaceAll("[0-9]", "*"));
System.out.println(str2.replaceAll("\\d", "*"));//比對比對郵箱
String mail1 = "[email protected]";
String mail2= "[email protected]";
String mail3= "[email protected]";//String mainRegex =//"[0-9a-zA-Z_]+@[0-9a-zA-Z_]++(\\.[0-9a-zA-Z_]+{2,4})+";
String mainRegex = "\\w+@\\w+(\\.\\w{2,4})+";
System.out.println(mail1.matches(mainRegex));//true
System.out.println(mail2.matches(mainRegex));//true
System.out.println(mail3.matches(mainRegex));//false
}
public static voiduserMatcherRegular() {//比對出3個字元的字元串
String str = "abc 124 ewqeq qeqe qeqe qeqe aaaa fs fsdfs d sf sf sf sf sfada dss dee ad a f s f sa a'lfsd;'l";
Pattern pt= Pattern.compile("\\b\\w{3}\\b");
Matcher match=pt.matcher(str);while(match.find()) {
System.out.println(match.group());
}//比對出郵箱位址
String str2 = "dadaadad da da dasK[PWEOO-123- [email protected] [email protected] =0KFPOS9IR23J0IS [email protected]@ADA.COM.CN [email protected] UFSFJSFI-SI- ";
Pattern pet2= Pattern.compile("\\b\\w+@\\w+(\\.\\w{2,4})+\\b");
Matcher match2=pet2.matcher(str2);while(match2.find()) {
System.out.println(match2.group());
}//比對
String sr = "dada ada adad adsda ad asdda adr3 fas daf fas fdsf 234 adda";//包含兩個比對組,一個是三個字元,一個是比對四個字元
Pattern pet = Pattern.compile("\\b(\\w{3}) *(\\w{4})\\b");
Matcher match1=pet.matcher(sr);int countAll = match1.groupCount();//2
while(match1.find()) {
System.out.print("比對組結果:");for (int i = 0; i < countAll; i++) {
System.out.print(String.format("\n\t第%s組的結果是:%s", i + 1,
match1.group(i+ 1)));
}
System.out.print("\n比對的整個結果:");
System.out.println(match1.group());
}}public static voiduserMatcherResultRegular() {
String sr= "dada ada adad adsda ad asdda adr3 fas daf fas fdsf 234 adda";
Pattern pet= Pattern.compile("\\b(\\w{3}) *(\\w{4})\\b");
Matcher match=pet.matcher(sr);
MatchResult ms= null;while(match.find()) {
ms=match.toMatchResult();
System.out.print("比對對象的組結果:");for (int i = 0; i < ms.groupCount(); i++) {
System.out.print(String.format("\n\t第%s組的結果是:%s", i + 1,
ms.group(i+ 1)));
}
System.out.println(ms.group());
}
}}