在Java中使用正則表達(dá)式返回符合正則表達(dá)式的字符串就要用到group(),group中記錄了所有符合指定表達(dá)式的字符串。本文通過(guò)一段代碼講解如何使用group()。
在java中使用正則表達(dá)式返回符合正則表達(dá)式的字符串就要用到group(),group中記錄了所有符合指定表達(dá)式的字符串,下面我通過(guò)一段代碼講解如何使用group:
public static void main(String[] args) { Pattern p = Pattern.compile("(\\d+,)(\\d+)"); String s = "123,456-34,345"; Matcher m = p.matcher(s); while(m.find()) { System.out.println("m.group():"+m.group()); //打印所有 System.out.println("m.group(1):"+m.group(1)); //打印數(shù)字的 System.out.println("m.group(2):"+m.group(2)); //打印字母的 System.out.println(); } System.out.println("捕獲個(gè)數(shù):groupCount()="+m.groupCount()); } |
首先創(chuàng)建Pattern對(duì)象,在其中編譯要用到的表達(dá)式,接著使用matcher方法在字符串中匹配指定表達(dá)式,接下來(lái),就要輸出查找結(jié)果了,在調(diào)用m.group之前,一定要記著調(diào)用m.find,不然會(huì)產(chǎn)生編譯錯(cuò)誤,在正則表達(dá)式中,用括號(hào)括起來(lái)的算作一組,group(0)于group()等價(jià),表示整個(gè)正則表達(dá)式的匹配字符串,group(1)等價(jià)于第一個(gè)括號(hào)內(nèi)的表達(dá)式返回的字符串,以此類推。當(dāng)while循環(huán)執(zhí)行過(guò)一輪,第二輪就輸出第二組匹配的字符串。上述程序的執(zhí)行結(jié)果如下:
m.group():123,456 m.group(1):123, m.group(2):456 m.group():34,345 m.group(1):34, m.group(2):345
|
捕獲個(gè)數(shù):
【編輯推薦】
- Java 14年的變化
- JAVA技術(shù)應(yīng)用基礎(chǔ)——對(duì)象·模式·虛擬機(jī)
- 4.1.1 Java程序結(jié)構(gòu)(1)
- 4.1.1 Java程序結(jié)構(gòu)(2)
- 我們?yōu)槭裁匆獙W(xué)習(xí)Java:Java的八大優(yōu)點(diǎn)