正規表達式各種語言通用,但不同的語言又有細微的差別。是以我們在用正規表達式的時候,一定要仔細了解目前語言中正則的規則。java中 java.util.regex包中的Pattern類說明了java語言中正則的細節。
正規表達式的應用:
判斷 matches
分割 split
替換 replaceAll
擷取 Pattern 與 Matcher合用
package patternDemo;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class PatternDemo
{
public static void main(String[] args){
// 比對判斷 matches
String reg = "^1[34578]{1}\\d{9}$";
String phone = "13112341234";
System.out.println(phone.matches(reg));// true
// 分割 split
String abc = "a,b,c";
String[] abcArr = abc.split(",");
for(int i = 0;i<abcArr.length;i++){
System.out.println(abcArr[i]); //輸出 a b c
}
// 替換 replaceAll
String s = "hello123world456";
String regex = "\\d+";
String replacement = " ";
String result = s.replaceAll(regex,replacement);
System.out.println(result); // hello world
// Pattern 和 Matcher
// 使用方法
// 1 通過Pattern對象擷取matcher對象
// 2 用matcher對象的擷取功能 find() start() end() group()
String findInStr = "hello #world# hello #java# hello #php#";
// 找出所有的 ## 包圍的字元
String pattern = "#(\\w+)#";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(findInStr);
while(m.find()){
System.out.print(m.group() +" "+ m.group(1));
System.out.println();
}
// 比對結果
/* #world# world
#java# java
#php# php */
}
}