我怎么写正则表达式“所有字符都一样”?

时间:2010-07-15 17:59:42

标签: java regex

我希望它匹配:

aaaaaa
bb
c

但不是:

aaabaaa
cd

...

4 个答案:

答案 0 :(得分:21)

假设正则表达式引擎支持反向引用,

^(.)\1*$

在Java中它将是

theString.matches("(.)\\1*")

答案 1 :(得分:8)

使用反向引用:

(.)(\1)*

读取:匹配任何字符后跟同一个字符0次或更多次。

根据正则表达式引擎和您的需要,您可能希望将正则表达式锚定为仅匹配整个字符串,而不是匹配子字符串。

答案 2 :(得分:0)

如果您想捕捉匹配的内容,则为^((.)\2*)$

答案 3 :(得分:0)

只是为了解决这个问题,你可以使用BackRefence:

(\ W +)\ S + \ 1

它检查由空格分隔的重复单词。