利用正则表达式去除连续的重复字符

举例:

"aaav.*sddff+ss"  ->   "av.*sdf+s"

代码:

 //去重操作
 String str = "aaav.*sddff+ss"; 
 String regex = "(.)\\1+";
 Matcher matcher = Pattern.compile(regex).matcher(str);
 String res = matcher.replaceAll("$1");
 System.out.println(res); 

主要用到正则表达式分组的概念。

\1 用于正则表达式内取值,取的是第一个分组匹配到的值。

$1 用于正则表达式外取值, 取的是第一个分组匹配到的值。常用于replace方法。

posted on 2018-09-06 16:08  wastonl  阅读(6623)  评论(0编辑  收藏  举报