evita a repetição de 3 caracteres em qualquer parte do target
/^(?:(?!([A-Za-zÀ-ÖØ-öø-ÿ -])\1\1).)+$/gi
- ^ ---> início da string
- (?: ... )+ ---> grupo de não captura repetido para percorrer toda a string
- (?!([A-Za-zÀ-ÖØ-öø-ÿ -])\1\1) ---> negative lookahead: não permitir três caracteres iguais consecutivos
- ([A-Za-zÀ-ÖØ-öø-ÿ -]) ---> captura qualquer letra (com acentos), espaço ou hífen, usada na referência \1 do lookahead
- . ---> consome o caractere atual, permitindo que a regex avance, porque o lookahead não consome caractere. Não avança a correspondência
- $ ---> fim da string
- g ---> em todo texto alvo
- i ---> case insensitive