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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梁秋瑜 中级黑马   /  2013-5-28 22:53  /  1102 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String s = "我我我要要上上上上春春春晚";
  System.out.println(s.replaceAll("(.)\\1+", "$1"));//输出结果是:我要上春晚  ,谁能解释一下这两个正则表达式的意思   

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

3 个回复

倒序浏览
本帖最后由 刘勇强 于 2013-5-28 23:46 编辑

. 代表任意字符 比如  我
(.)设置为组 会自定义序号      
\1:获取第一组字符   即.代表的那个字符
+:代表1个或多个
$1:获取第一组

组合起来
(.)\\1+  :代表任意n个重复的字符  ,$1代表第一组 (.) 即单个字符

作用到例子中:  (.)\\1+    我我我     $1 我

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
楼上很详细、、
回复 使用道具 举报
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马