從Java1.4起,Java核心API就引入了java.util.regex程序包,它是一種有價值的基礎(chǔ)工具,可以用于很多類型的文本處理, 如匹配,搜索,提取和分析結(jié)構(gòu)化內(nèi)容.
java.util.regex是一個用正則表達式所訂制的模式來對字符串進行匹配工作的類庫包。它包括兩個類:Pattern和Matcher.
Pattern是一個正則表達式經(jīng)編譯后的表現(xiàn)模式。 在java中,通過適當命名的Pattern類可以容易確定String是否匹配某種模式.模式可以象匹配某個特定的String那樣簡單,也可以很復(fù) 雜,需要采用分組和字符類,如空白,數(shù)字,字母或控制符.因為Java字符串基于統(tǒng)一字符編碼(Unicode),正則表達式也適用于國際化的應(yīng)用程序.
Pattern類的方法簡述
| 方法 | 說明 |
| static Pettern compile(String regex,int flag) | 編譯模式,參數(shù)regex表示輸入的正則表達式,flag表示模式類型(Pattern.CASE_INSENSITIVE 表示不區(qū)分大小寫) |
| Matcher match(CharSequence input) | 獲取匹配器,input時輸入的待處理的字符串 |
| static boolean matches(String regex, CharSequence input) | 快速的匹配調(diào)用,直接根據(jù)輸入的模式regex匹配input |
| String[] split(CharSequence input,int limit) | 分隔字符串input,limit參數(shù)可以限制分隔的次數(shù) |
Matcher 一個Matcher對象是一個狀態(tài)機器,它依據(jù)Pattern對象做為匹配模式對字符串展開匹配檢查。首先一個Pattern實例訂制了一個所用語法與 PERL的類似的正則表達式經(jīng)編譯后的模式,然后一個Matcher實例在這個給定的Pattern實例的模式控制下進行字符串的匹配工作。
Matcher類的方法簡述
| 方法 | 說明 |
| boolean matches() | 對整個輸入字符串進行模式匹配. |
| boolean lookingAt() | 從輸入字符串的開始處進行模式匹配 |
| boolean find(int start) | 從start處開始匹配模式 |
| int groupCount() | 返回匹配后的分組數(shù)目 |
| | 用給定的replacement全部替代匹配的部分 |
| String repalceFirst(String replacement) | 用給定的replacement替代第一次匹配的部分 |
| Matcher appendReplacement(StringBuffer sb,String replacement) | 根據(jù)模式用replacement替換相應(yīng)內(nèi)容,并將匹配的結(jié)果添加到sb當前位置之后 |
| StringBuffer appendTail(StringBuffer sb) | 將輸入序列中匹配之后的末尾字串添加到sb當前位置之后. |
新聞熱點
疑難解答
圖片精選