任何人都可以给我一个Java正则表达式来识别字符串中的重复字符吗?我只是寻找立即重复的字符,它们可以是字母或数字.
abccde < - 寻找这个(立即重复c)
abcdce < - 不是这个(c被另一个角色分开)
David Z.. 37
尝试 "(\\w)\\1+"
在\\w
比赛的任何单词字符(字母,数字或下划线),并且\\1+
无论是在第一组括号,一次或多次的比赛.因此,您最终匹配任何出现的单词字符,然后立即再次出现一个或多个相同的单词字符.
(请注意,我将正则表达式作为Java字符串,即反斜杠已经加倍了)
尝试 "(\\w)\\1+"
在\\w
比赛的任何单词字符(字母,数字或下划线),并且\\1+
无论是在第一组括号,一次或多次的比赛.因此,您最终匹配任何出现的单词字符,然后立即再次出现一个或多个相同的单词字符.
(请注意,我将正则表达式作为Java字符串,即反斜杠已经加倍了)
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)); }