Gabarito disponível
public static boolean validaCEP(String cep) {
return cep.matches("\\s*((\\d{2}\\.\\d{3}-\\d{3})|(\\d{8}))");
}
Assinale a opção correta cujo valor do parâmetro "cep" fará com que a função retorne false.
Resolução comentada
'50710-440' não casa com a regex e retorna false.
A regex aceita espaços opcionais no início seguidos de 'dd.ddd-ddd' ou de 8 dígitos seguidos. O valor '50710-440' mistura 5 dígitos, hífen e 3 dígitos, formato que não casa com nenhuma das duas formas. Como matches exige correspondência total, retorna false.
Análise das alternativas
A) Casa com o formato 'dd.ddd-ddd'. B) Casa com 8 dígitos. C) Espaço inicial e 8 dígitos casam. D) Espaço inicial e formato com pontuação casam.
Referência: Java: String.matches e java.util.regex.
Resolução comentada do VaiConcursos.