如何在Java中使用正则表达式查找重复的字符?

Jed*_*Pie 21 java regex

任何人都可以给我一个Java正则表达式来识别字符串中的重复字符吗?我只是寻找立即重复的字符,它们可以是字母或数字.

例:

abccde < - 寻找这个(立即重复c)

abcdce < - 不是这个(c被另一个角色分开)

Dav*_*d Z 37

尝试 "(\\w)\\1+"

\\w比赛的任何单词字符(字母,数字或下划线),并且\\1+无论是在第一组括号,一次或多次的比赛.因此,您最终匹配任何出现的单词字符,然后立即再次出现一个或多个相同的单词字符.

(请注意,我将正则表达式作为Java字符串,即反斜杠已经加倍了)


Sim*_*son 13

String stringToMatch = "abccdef";
Pattern p = Pattern.compile("(\\w)\\1+");
Matcher m = p.matcher(stringToMatch);
if (m.find())
{
    System.out.println("Duplicate character " + m.group(1));
}
Run Code Online (Sandbox Code Playgroud)