標籤:表示 aaaaa util code [] 靜態 參數 test 正則
JavaRegex:定義了字串的模式;可以用來搜尋、編輯、或處理文本;
指定為字串的Regex必須首先被編譯為此類的執行個體。然後將得到的模式用於建立Matcher對象,依照Regex,該對象可以與任一字元序列匹配,執行匹配所涉及的所有狀態都駐留在匹配器中,所以多個匹配器可以共用同一模式
因此,典型的調用順序是:
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaaaabccccc");
boolean b = m.matches();
如下例子中:
boolean isMatch = Pattern.matches(pattern,content);僅在使用一次Regex時,可以方便使用matches方法。
Java.util.regex包主要包括以下三個類:
1、Pattern類:pattern對象是一個Regex的編譯表示。Pattern類沒有公用構造方法,要建立一個Pattern對象,必須首先調用其公用靜態編譯方法,返回一個Pattern對象,該方法接受一個Regex作為它的第一個參數。
package cuiyuee;import java.util.regex.*;public class PatternTest { public static void main(String[] args) { // TODO Auto-generated method stub String content = "I am noob from runoob.com."; String pattern = ".*runoob.*"; boolean isMatch = Pattern.matches(pattern,content); System.out.println("字串中是否包含了 ‘runoob‘ 子字串?"+ isMatch); }}
2、Matcher類:Matcher對象是對輸入字串進行解釋和匹配操作的引擎,與Pattern類一樣,Matcher也沒有公用構造方法,需要調用Pattern對象的matcher方法來獲得一個Matcher對象。
Matcher類的方法:
索引方法:提供了有用的索引值,精確表明輸入字串中在哪能找到匹配。
public int start():返回以前匹配的初始索引。
public int start(int group):返回在以前的匹配操作期間,由給定組所捕獲的子序列的初始索引。
public int end(int group):返回在以前的匹配操作期間,由給定組所捕獲子序列的最後字元之後的位移量。
研究方法:用來檢查輸入字串並返回一個布爾值,表示是否找到該模式。
public boolean lookingAt():嘗試將從地區開頭開始的輸入序列與該模式比對。
public boolean find():嘗試尋找與該模式比對的輸入序列的下一個子序列。
public boolean find(int start):重設此匹配器,嘗試尋找匹配該模式,從指定索引開始的輸入序列的下一個子序列。
public boolean matches():嘗試將整個地區與模式比對。
替換方法:替換輸入字串裡文本的方法。
public Matcher appednReplacement(StringBuffer sb,String replacement):實現非終端添加和替換步驟。
public StringBuffer appendTail(StringBuffer sb):實現終端添加和替換步驟
public String replaceAll(String replacement):替換模式與給定替換字串相匹配的輸入序列的每個字序列。
public String replaceFirst(String replacement):替換模式與給定替換字串匹配的輸入序列的第一個子序列
public static String quoteReplacement(String s):返回指定字串的字面替換字串。這個方法返回一個字串,就像傳遞給Matcher類的appendReplacement 方法一個字面字串一樣工作。
3、PatternSyntaxException類
PatternSyntaxException是一個非強制異常類,它指示一個Regex模式中的語法錯誤。
有以下方法協助我們查看發生了什麼錯誤。
public String getDescription():擷取錯誤的描述。
public int getIndex():擷取錯誤的索引。
public String getPattern():擷取錯誤的Regex模式。
public String getMessage():返回多行字串,包含語法錯誤及其索引的描述,錯誤的Regex模式和模式中錯誤索引的可視化指示。
Java的Regex