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.search(padrao, cpf):
print("O CPF está no formato correto.")
else:
print("O CPF está no formato incorreto.")
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.search(padrao, cpf):
print("O CPF está no formato correto.")
else:
print("O CPF está no formato incorreto.")
Olá, Jeferson, como vai?
Seu código para a validação do CPF utilizando expressões regulares está muito bem encaminhado. A lógica de capturar a entrada do usuário, definir um padrão e utilizar o módulo re para a verificação está correta e demonstra uma boa compreensão do conteúdo.
Há um pequeno ajuste que podemos fazer no seu padrão de regex para torná-lo mais preciso. O ponto (.)
em uma expressão regular é um metacaractere que corresponde a qualquer caractere (com exceção de uma nova linha). Para que ele represente o caractere literal de ponto, é necessário escapá-lo com uma barra invertida (\)
.
Por exemplo, a expressão regular corrigida seria r'\d{3}\.\d{3}\.\d{3}-\d{2}'
.
Parabéns por compartilhar sua solução e pelo seu progresso nos estudos. Continue praticando e utilizando o fórum para compartilhar suas dúvidas e projetos. Estamos à disposição para ajudar.