1. 程式人生 > >java正則表示式捕獲組

java正則表示式捕獲組

Java中使用正則表示式返回符合正則表示式的字串就要用到group(),group中記錄了所有符合指定表示式的字串。本文通過一段程式碼講解如何使用group()。
<span style="white-space:pre">	</span>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)); // 列印組1
			System.out.println("m.group(2):" + m.group(2)); // 列印組2
			System.out.println();
		}
		System.out.println("捕獲個數:groupCount()=" + m.groupCount());
	}



  輸出:
  m.group():123,456
  m.group(1):123,
  m.group(2):456
  m.group():34,345
  m.group(1):34,
  m.group(2):345
  捕獲個數:groupCount()=2

  "(\\d+,)(\\d+)"可以看成一個大組,上面的字串 s 可以分為兩個大組。裡面的兩個小括號分別代表一個大組裡面的小組,即groupCount=2。