正則表達(dá)式:正則表達(dá)式就是用于描述這些規(guī)則的工具。換句話說,正則表達(dá)式就是記錄文本規(guī)則的代碼。
強烈建議博客:http://www.jb51.net/tools/zhengze.html
Pattern類
Pattern的創(chuàng)建:
Pattern pattern =Pattern.complie(String regex)
參數(shù)說明:regex:是一個正則表達(dá)式的字符串,(也是需要過濾或?qū)ふ易址恼齽t表達(dá)式)
Pattern的方法:
String regex=pattern.pattern();
方法說明:返回pattern實例對應(yīng)的正則表達(dá)式(創(chuàng)建的時候傳入的參數(shù):regex);
字符串拆分:
String[] stringArray=pattern.split(CharSequence input);
方法說明:將input字符串根據(jù)pattern的規(guī)則拆分成數(shù)組;
方法參數(shù)說明:
? input --將被拆分的字符串;
? stringArray-拆分后得到的數(shù)組;
pattern--拆分規(guī)則:在input字符串中遇到與pattern匹配的字符串就會將input進行拆分;
示例:input-"1e1e1e1e2e5d2"
Pattern pattern =Pattern.complie("\d")
結(jié)果 ?stringArray為[e,e,e,e,e,d]
Matcher的創(chuàng)建:
在創(chuàng)建Matcher的時候,需要先創(chuàng)建Pattern;
Pattern pattern =Pattern.complie(String regex)
Matcher matcher=pattern.matcher( String imput);
Matcher方法說明:
Pattern?pattern=matcher.pattern();
方法說明:返回創(chuàng)建mathcer的pattern實例;
整體匹配:
Boolean boolean=matcher.matcher();
參數(shù)說明: boolean-只有整個matcher中的input字符串與pattern的匹配規(guī)則完全匹配的時候返回true,否則返回false;
局部匹配:
Boolean boolean=matcher.find();
參數(shù)說明: boolean-當(dāng)matcher中的input字符串具有與pattern的規(guī)則匹配的時候返回true,否則返回false;
當(dāng)boolean為true的時候,我們可以調(diào)用
matcher.start();返回匹配到的子字符串在字符串中的索引位置
.matcher.end();返回匹配到的子字符串的最后一個字符在字符串中的索引位置
matcher.group();返回匹配到的子字符串
注意:當(dāng)多次調(diào)用find()的時候,會在字符串中尋找下一個能夠匹配這則表達(dá)式的子字符串;
替換:
String over=matcher.replaceFirst(String instead);
參數(shù)說明:instead:將匹配到的第一處的字符串換成instead字符串
? ? ? ? ? ? ? ? ?over:替換后的字符串;
String over=matcher.replaceAll(String instead);
參數(shù)說明:instead:將匹配到所有的字符串換成instead字符串
? ? ? ? ? ? ? ? ?over:替換后的字符串;
String StringBuffer=matcher.appendReplacement();
將替換位置處及之前位置處的字符復(fù)制到StringBuffer中;
String StringBuffer=matcher.appendTail();
將替換位置之后的字符復(fù)制到StringBuffer