Regex - Condição OR para grupos de caracteres

Pessoal, estou quebrando a cabeça com expressões regulares.

Como faço para, por exemplo, numa string, saber se ela contém alguns desses grupos de caracteres (“aa” ou “bb” ou “cc”)…
Seguindo esse exemplo:

“abcc”.matches(…) // true
“aabc”.matches(…) // true
“abbcc”.matches(…) // true
“abc”.matches(…) // false

Eu poderia fazer n outras coisas, como usar “abcc”.contains(“aa”) || “abcc”.contains(“bb”) || …

Mas eu fiquei encucado em como fazer com expressões regulares.

Já tentei
[(aa)|(bb)|(cc)]
[(aa)(bb)(cc)]
aa|bb|cc
e varias outras coisas, mas ele sempre acha “a”, “b” ou “c” individualmente…

Afinal, como seria isso?

Pode ser isso ?
Lá vai:

String mensagem = "abcd"; String z = mensagem.replaceAll("[aeiou]", ""); if(mensagem.length() > z.length()) System.out.println("OK");

String mensagem = "aabcd"; String z = mensagem.replaceAll("aa|ee", ""); if(mensagem.length() > z.length()) System.out.println("OK");