java中的正則表達式


需要用到Pattern、Matcher這兩個類,都在java.util.regex這個包中。regex其實是regular expression的縮寫。

用Pattern指定正則表達式。Pattern的compile(String regex)靜態方法生成一個Pattern實例。

Pattern的matcher(CharSequence input)方法返回一個Matcher實例。

例如,正則表達式是([a-zA-Z]+)_\d+),字符串是sb_520AndSb_1314

Matcher常用方法:

boolean matches():

boolean find():如果字符串的任意子串能匹配這個正則表達式,則返回true,否則返回false。find()的作用就相當於Iterator的hasNext()方法,用於遍歷,如while(matcher.find()){},這樣就會從字符串的左邊開始把匹配正則的子串找出來,有幾個這樣的子串就能循環幾次。

matches()和find()方法區別:

 

以下方法在遍歷內部使用:

String group():返回此次匹配的子串

int start():返回此次匹配的子串的起始索引

int end():返回此次匹配的子串之后一個字符的索引,注意不是子串最后一個字符的索引,是子串之后一個字符的索引

 

String group(int group):返回此次匹配的子串中第N個分組對應的字符串,N從1開始。group(0)等同於group()。

int start(int group):返回此次匹配的子串中第N個分組對應的字符串的起始索引,N從1開始。start(0)等同於start()。

int end(int group):返回此次匹配的子串中第N個分組對應的字符串之后的一個字符的索引,N從1開始。end(0)等同於end()。

 

String group(String name):

int start(String name):

int end(String name):

 

Matcher的int groupCount()實例方法返回正則表達式中括號的數量。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM