正则表达式之group |

正则表达式之group |

java使用正则表达式我们都要使用group()来返回正则表达式中匹配的字符串。在创建Pattern对象后,在其中编译指定的表达式。然后调用Matcher方法输入的字符串中匹配指定的表达式。使用group(),一定要先记得使用find()方法,否则就会出现编译错误


测试程序

public static void main(String[] args) {// TODO Auto-generated method stubPattern pa = Pattern.compile("[a]([b-c](d+,d+))");String str = "ab1,3";Matcher ma = pa.matcher(str);if(ma.find()) {System.out.println("group() = "+ma.group());System.out.println("group(0) = "+ma.group(0));System.out.println("group(1) = "+ma.group(1));System.out.println("group(2) = "+ma.group(2));System.out.println();}//System.out.println("m.groupCount() ="+ma.groupCount());}
输出:

group() = ab1,3group(0) = ab1,3group(1) = b1,3group(2) = 1,3

由上述的测试程序可以知道,group()和group(0)是等价的,都是匹配整个正则表达式的字符串。而group(1)是匹配第一个括号内的表达式返回的字符串。group(2)就是匹配第二个括号内的表达式返回的字符串。而在不知道顺序情况下,正如问文中的测试程序一样,是按照表达式字符串的长度大小来输出返回的字符串。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部