import re
cpf = input("Digite o CPF no formato XXX.XXX.XXX-XX: ")
padrao = r'^\d{3}.\d{3}.\d{3}-\d{2}$'
if re.match(padrao, cpf):
print("O CPF está no formato correto.")
else:
print("CPF inválido!")
import re
cpf = input("Digite o CPF no formato XXX.XXX.XXX-XX: ")
padrao = r'^\d{3}.\d{3}.\d{3}-\d{2}$'
if re.match(padrao, cpf):
print("O CPF está no formato correto.")
else:
print("CPF inválido!")
Oi, Luiz! Como vai?
Você aplicou bem o uso de regex para validar o formato do CPF. Sua estrutura está correta e a ideia faz sentido, veja como ajustar um detalhe importante: no seu padrão, os pontos . estão sem escape, então eles aceitam qualquer caractere. Isso pode permitir entradas inválidas sem que você perceba.
Continue praticando esse tipo de validação, isso ajuda bastante no dia a dia com dados de entrada.
Dica: sempre que quiser representar um ponto literal em regex, use \.. Resolva fazendo o seguinte: ajuste o padrão para r'^\d{3}\.\d{3}\.\d{3}-\d{2}$' e garanta que apenas o formato correto seja aceito.