java.util.regex包是一個用於匹配字符序列與正則表達式指定的類庫包。這個包中包含有三個類:Pattern、Matcher和PatternSyntaxException.java
Pattern:正則表達式經編譯後的表現模式
正則表達式
Matcher:一個Matcher對象是一個狀態機器,依據Pattern對象做爲匹配模式對字符串展開匹配檢查。
app
使用流程:ide
首先使用Pattern的一個靜態方法Complie來建立Pattern對象。
spa
Pattern n=Pattern.Complie(regax);
對象
而後,調用Pattern的方法matcher
索引
Matcher m=p.matcher(Candidate);
字符串
獲得Matcher對象,Matcher對象保存了許多匹配信息,經過find()方法查找匹配的部分,如有,返回TRUE,m.group()可獲得匹配的各組值,不然,返回FALSE。
input
Pattern類的方法:it
一、Static Pattern compile(String regex);
將給定的正則表達式編譯並賦予給Parrern類;
Static Pattern compile(String regex,int flags);
二、int flags();
返回當前Pattern的匹配flags參數;
三、Matcher matcher(CharSequeue input);
生成一個給定命名的Matcher對象;
四、Static boolean matchers(String regex,CharSequeue intput);
編譯給定的正則表達式而且對輸入的字符串以該正則表達式爲模式展開匹配,該方法適合於該正則表達式只會使用一次的狀況,也就是隻進行一次匹配工做,由於這種狀況下,不須要生成一個Matcher實例。
五、String Pattern();
返回該Pattern對象所編譯的表達式
六、String[] Split(CharSequeue input);
將目標字符串按照Pattern裏所包含的正則表達式爲模式進行分割。
String[] Split(CharSequeue input,int limit);//limit爲指定分割的段數
Matcher類的方法:
一、Matcher appendReplacement(StringBuffer sb,String replacement);
將當前匹配子串替換爲指定字符串,而且將替換後的子串以及其以前到上次匹配子串以後的字符串段添加到一個StringBuffer對象裏。
二、StringBuffer appendTail(StringBuffer sb);
將最後一次匹配工做後剩餘的字符串添加到一個StringBuffer對象裏。
三、int end();
返回當前匹配的子串的最後一個字符串在原目標字符串的索引位置。
int end(int group);
返回與匹配模式裏指定的但相匹配的子串最後一個字符的位置。
四、boolean find();
嘗試在目標字符串裏查找下一個匹配子串
boolean find(int start);
重設Matcher對象,而且嘗試在目標字符串裏從指定的位置開始查找下一個匹配的子串。
五、String group();
返回當前查找而得到的與組匹配的全部子串內容
String group(int group);
返回當前查找而得到的與指定的組匹配的子串內容
int groupCount();
返回當前查找所得到匹配組的數量。
六、boolean lookingAt();
檢測目標字符串是否以匹配的子串起始
七、boolean matches();
嘗試對整個目標字符串展開匹配檢測,也就是對整個目標字符串徹底匹配時才返回值。
八、Pttern pattern();
返回該Matcher對象的現有匹配模式,也就是對應的Pattern對象。
九、String replaceAll(String replacement);
將目標字符串裏的全部與既有模式相匹配 的子串替換爲指定的字符串
十、String replaceFirst(String repalcement);
只替換第一個。。。。。。。。。。。。。
十一、Matcher reset()//重設該Matcher對象
Matcher reset()//重設該Matcher對象,而且制定一個新的目標字符串
十二、int start();
返回當前查找所獲子串的開始字符在原目標字符串中的位置。
1三、int start(int group);
返回當前查找所得到的和指定組匹配的子串的第一個字符在原目標字符串中的位置。