Na atividade "validando cpf" dentro do pattern.compile:
Pattern pattern = Pattern.compile("^[0-9]{3}.[0-9]{3}.[0-9]{3}-[0-9]{2}$");
tem diferença para:
Pattern pattern = Pattern.compile("\\d{3}\\.\\d{3}\\.\\d{3}-\\d{2}");
ou é só a forma de escrever?