我想检查一个字符串是否包含重复超过三次的特定字符

时间:2016-01-20 07:02:42

标签: java regex string

例如,如果我有一个包含' A'或者' B'或者' C'连续三次以上,该字符串无效:

PPAAAFAL - Valid , 
AAABBBCC- valid , 
NABCCCC - invalid , 
AAAAAAAA- invalid ... etc.

我知道我可以检查A{0,3}之类的重复但是如何检查一个RegEx中的所有字符? 字符串可以以任何字符开头和结尾。

1 个答案:

答案 0 :(得分:2)

您可以使用string.matches。正则表达式下面只应匹配无效字符串。也就是说,字符串包含4个或更多ABC&#39>。

if (string.matches(".*([ABC])\\1{3,}.*")) {
    System.out.println("Invalid");
} else {
    System.out.println("Valid");
}

Demo