A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 兜兜转转 中级黑马   /  2013-8-16 10:23  /  1339 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

按照叠词切割,表面看的懂,表面知道怎么用,可是光知道用是不行的,但是具体老师说的要怎么深层次的去理解呢?毕老师说的“为了可以让规则的结果被重用,可以将规则封装成一个组,用()完成。” -->这句话怎么理解?

"组的出现都是有编号的,从1开始。想要使用已有的组,可以通过\n(n就是组的编号)的形式来获取“ -->这个又是怎么理解呢?
最好有例子可以解释一下,感谢!。

评分

参与人数 1技术分 +1 收起 理由
特殊服务 + 1

查看全部评分

3 个回复

倒序浏览
String stt="asdffasdlfkjffasdfffasdff";
//用叠词切割
String reg="(.)\\1";就表示第一组
因为这里只有一个组
如果是
String  reg=((A)(B))这就有三组\\((A)(B))是一组,(A)是一组,(B)是一组分别用\\1,\\2\\3获取。
回复 使用道具 举报 1 0
为了可以让规则的结果被重用,可以将规则封装成一个组,用()完成。     就跟你封装一个功能要封装成方法、接口、类  一样 ,正则中重复使用某个规则,就用()去封装成一个组

组的出现都是有编号的,从1开始。想要使用已有的组,可以通过\n(n就是组的编号)的形式来获取     数组中元素的下标是从0开始的,正则中为了让规则重复使用的组的编号是从1开始的。 \n  其中n代表第几组  跟数组中元素查找一样,只是表达方式不同   
在java中,你不一定去完全了解到底为什么这么用,你只要知道怎么用就可以了,想太多只会让自己头疼,如果是兴趣所致的,倒是可以去换个思维去想。当你知道更多的知识时,那么你知道的就越来越少...
回复 使用道具 举报
首先,有几个括号就代表着有几组,编号顺序是从左往右编号。例如:在表达式 ((A)(B(C))) 中,存在四个这样的组,
1            ((A)(B(C)))
2            (A)
3            (B(C))
4            (C)

((A)(B(C)))\\1\\2\\3\\4  这个\\1表示取第一组((A)(B(C))),\\2表示取第二组(a)
\\3 表示取第三组(b(c))
\\4表示取第四组(4)
希望你能明白
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马