import re
cpf = input('Digite o CPF no formato XXX.XXX.XXX-XX: ')
padrao = r'\b\d{3}.\d{3}.\d{3}-\d{2}\b'
if re.match(padrao,cpf):
print ('CPF no padrão!')
else:
print ('CPF fora do padrão!')
import re
cpf = input('Digite o CPF no formato XXX.XXX.XXX-XX: ')
padrao = r'\b\d{3}.\d{3}.\d{3}-\d{2}\b'
if re.match(padrao,cpf):
print ('CPF no padrão!')
else:
print ('CPF fora do padrão!')
Oi, Ricardo! Como vai?
Seu uso de regex para validar o formato do CPF está muito bom. Usar re.match()
com um padrão claro como o que você usou mostra que entendeu como aplicar expressões regulares de forma eficaz.
Uma dica interessante para o futuro é usar re.fullmatch()
quando quiser garantir que toda a string siga exatamente o padrão. Veja este exemplo:
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.fullmatch(padrao, cpf):
print('CPF no padrao!')
else:
print('CPF fora do padrao!')
O re.fullmatch()
só retorna match se a string inteira corresponder ao padrão, o que evita falsos positivos.