Java正则表达式之group()
在java中利用正则表达式返回切合正则表达式的字符串就要用到group(),group中记录了所有切合指定表达式的字符串,下面我通过一段代码讲授如何利用group:
public static void main(String[] args)
{
Pattern p = Pattern.compile("(file://\\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)); //打印数字的
System.out.println("m.group(2):"+m.group(2)); //打印字母的
System.out.println();
}
System.out.println("捕捉个数:groupCount()="+m.groupCount());
}
首先建设Pattern工具,在个中编译要用到的表达式,接着利用matcher要领在字符串中匹配指定表达式,接下来,就要输出查找功效了,在挪用m.group之前,必然要记取挪用m.find,否则会发生编译错误,在正则表达式中,用括号括起来的算作一组,group(0)于group()等价,暗示整个正则表达式的匹配字符串,group(1)等价于第一个括号内的表达式返回的字符串,以此类推。当while轮回执行过一轮,第二轮就输出第二组匹配的字符串。上述措施的执行功效如下: 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