java Pattern类中关于匹配group和group(int group)的一些学习

java Pattern类中关于匹配group和group(int group)的一些学习看了我们组小伙伴的日志,对于Matcher的group()和group(intgroup),似乎有的还不是分的很清楚,在此给大家解释一下:1,方法介绍:(1)group()返回的是该次匹配的整个输入序列;(2)group(intgroup)返回的是该次匹配指定的捕获组序列,即本方法的形式参数group就是指定需要获取的捕获组组号。注意:捕获组是从1开始从左到右的索引。组零表

转载自同事张文兵,希望好的分享能够扩散!

看了我们组小伙伴的日志,对于Matcher的group()和group(int group),似乎有的还不是分的很清楚,在此给大家解释一下:

1,方法介绍:
(1)group()返回的是该次匹配的整个输入序列;
(2)group(int group)返回的是该次匹配指定的捕获组序列,即本方法的形式参数group就是指定需要获取的捕获组组号。
注意:捕获组是从 1 开始从左到右的索引。组零表示整个模式,因此表达式 m.group(0) 等效于 m.group()。
例子:

java Pattern类中关于匹配group和group(int group)的一些学习

输出:
mc.group():tid=0x00007f3d9c002800
mc.group(0):tid=0x00007f3d9c002800
mc.group(1):tid=
mc.group(2):0x00007f3d9c002800

2,预先知识点:
如果不清楚什么是捕获组(即子匹配),在此解释一下:
子匹配:
(1)在整个正则表达式中,圆括号“()”所括起来的部分称为一个子匹配(即子表达式),除了可以得到整个正则表达式的匹配结果外,也可以单独得到每个子表达部分所匹配的结果;
(2)多个子表达式所匹配到的原始内容按照它们在正则表达式中从左到右出现的顺序存储在缓冲区,这个过程称为捕获;
(3)圆括号中的子表达式所捕获的内容(即原始内容,也就是来和正则表达式进行匹配的原字符),可以在整个正则表达式中位于这个子表达式之后的任何地方被反向引用:
第一个子表达式捕获的内容用 “\1” 表示
第二个子表达式捕获的内容用 “\2” 表示
以此类推,第n个子表达式捕获的内容用 “\n” 表示
如:要匹配2个相同的连续数字字符的正则表达式可以为:(\d)\1
要匹配千位和个位相同,百位和十位相同的4位数字的正则表达式可以为:(\d)(\d)\2\1

看完这些,我想大家对于group()和group(int group)已经理解的很透彻了!
如果还想了解更多的关于正则表达式的内容,也可以看看我的技术博客里javascript分栏中的正则表达式部分:http://blog.csdn.net/u011031854/article/category/1588971

今天的文章java Pattern类中关于匹配group和group(int group)的一些学习分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/32933.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注