黑马程序员技术交流社区

标题: 正则表达式的问题 [打印本页]

作者: 梁秋瑜    时间: 2013-5-28 22:53
标题: 正则表达式的问题
String s = "我我我要要上上上上春春春晚";
  System.out.println(s.replaceAll("(.)\\1+", "$1"));//输出结果是:我要上春晚  ,谁能解释一下这两个正则表达式的意思   
作者: 刘勇强    时间: 2013-5-28 23:42
本帖最后由 刘勇强 于 2013-5-28 23:46 编辑

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

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

作用到例子中:  (.)\\1+    我我我     $1 我
作者: 李阳阳    时间: 2013-5-29 14:43
楼上很详细、、
作者: 殇_心。    时间: 2013-5-29 16:31
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2