知道這強大的玩意很久了,一直沒用到就沒看,趁目前學習 Java 中順便學習之 …
初識
正則表達式是一個用於匹配字符串的模版,提供 查找、分割、提取、替換 等操作。Pattern 類和 Matcher 類用於支持正則表達式,Pattern 對象是正則表達式編譯後在內存中的表示形式,Matcher 對象保存執行匹配所涉及的狀態,多個 Matcher 對象可以共享一個 Pattern 對象。
· 合法字符 和 特殊字符:*≥0,+≥1,0≤?≤1
· 通配符:預定義字符 和 邊界匹配符;
· 方括號表達式 和 圓括號表達式:
· 數量表示符:默認 Greedy 模式
Pattern pat = Pattern.comlile("a*b");
Matcher mat = pat.matcher("b");
boolean res1 = mat.matches();
boolean res2 = Pattern.matches("a*b", "b");
// res1 = res2。 另外可以利用 String 類的 matches()方法
boolean res = 目標字符串.matches("正則表達式");
其中,Pattern 不可變類,併發線程安全;Matcher 類的實例方法 find() 和 group() 可以從目標字符串中依次取出特定子串,start() 和 end() 確定子串的起始位置。
參考
· 初識正則表達式;
· 正則表達式 - dudu的blog;
· 正則表達式 - 反向引用;
· ip地址;