Java Regex詳細使用,javaRegex
Java Regex
java.util.regex.Patternjava.util.regex.Matcher
1.Match
match 是從字串最頭部開始匹配,一直到結束,需要匹配整個串
String content = "Welcome, bob!";content.match("bob"); //falsecontent.match(".*bob") //falsecontent.match(".*bob.*") //trueString str="test@yahoo.com.cn";Pattern pattern = Pattern.compile("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+",Pattern.CASE_INSENSITIVE);Matcher matcher = pattern.matcher(str);boolean a = matcher.matches(); //匹配的時候返回true
2.Find
boolean b = matcher.find(); //包含正則匹配的串為true// 找到所有匹配的串while(matcher.find()) { String extracted = matcher.group(0)}
3.Replace
matcher.replaceFirst("")matcher.replaceAll("");
4.Group
group(0) 代表整個運算式String line = "#星座運勢#20171013";String pattern = "\\#(\\p{L}*)\\#(\\d+)"; //\p{L} 匹配 unicode any kind of letter from any language// 建立 Pattern 對象Pattern r = Pattern.compile(pattern); // 現在建立 matcher 對象Matcher m = r.matcher(line);if (m.find( )) { System.out.println("Found value: " + m.group(0) ); // "#星座運勢#20171013" System.out.println("Found value: " + m.group(1) ); // 星座運勢 System.out.println("Found value: " + m.group(2) ); // 20171013} else { System.out.println("NO MATCH");}