java正则 group_Java正则表达式,分组 group()、groupCount()
示例:
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Fenzhu {
public static void main(String[] args) {
Pattern p = Pattern.compile("(\\d{3,5})([a-z]{2})");
String s = "123aa-34345bb-234cc-00";
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("捕獲個(gè)數(shù):groupCount()=" + m.groupCount());
System.out.println();
}
}
}
輸出:
m.group():123aa
m.group(1):123
m.group(2):aa
捕獲個(gè)數(shù):groupCount()=2
m.group():34345bb
m.group(1):34345
m.group(2):bb
捕獲個(gè)數(shù):groupCount()=2
m.group():234cc
m.group(1):234
m.group(2):cc
捕獲個(gè)數(shù):groupCount()=2
group()
public String group(int group)
返回在以前匹配操作期間由給定組捕獲的輸入子序列。
對(duì)于匹配器 m、輸入序列 s 和組索引 g,表達(dá)式 m.group(g) 和 s.substring(m.start(g), m.end(g)) 是等效的。
捕獲組是從 1 開始從左到右的索引。組零表示整個(gè)模式,因此表達(dá)式 m.group(0) 等效于 m.group()。
如果該匹配成功了,但指定組未能匹配輸入序列的任何部分,則返回 null。注意,某些組(例如,(a*))匹配空字符串。當(dāng)這些的組成功匹配輸入中的空字符串時(shí),此方法將返回 空字符串。
指定者:
接口 MatchResult 中的 group
參數(shù):
group - 此匹配器模式中捕獲組的索引。
返回:
在以前的匹配期間組所捕獲的子序列(可能為空);如果組未能匹配輸入的部分,則返回 null。
拋出:
IllegalStateException - 如果沒有嘗試任何匹配,或者以前的匹配操作失敗。
IndexOutOfBoundsException - 如果在給定索引的模式中不存在捕獲組。
groupCount()
public int groupCount()
返回此匹配器模式中的捕獲組數(shù)。
根據(jù)慣例,零組表示整個(gè)模式。它不包括在此計(jì)數(shù)中。
任何小于等于此方法返回值的非負(fù)整數(shù)保證是此匹配器的有效組索引。
指定者:
接口 MatchResult 中的 groupCount
返回:
此匹配器模式中的捕獲組數(shù)。
總結(jié)
以上是生活随笔為你收集整理的java正则 group_Java正则表达式,分组 group()、groupCount()的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个qq网名原宿风女生!
- 下一篇: 找一个笑话帖子~~~?