ragfica.pages.dev

Como checar se um CPF é sequencial usando expressão regular?

Identificar CPFs sequenciais é uma tarefa essencial para validar dados e evitar fraudes. Usar uma expressão regular é a forma mais rápida e precisa de detectar padrões numéricos repetitivos em uma string, garantindo que nenhum CPF inválido passe despercebido.

Pré-requisitos

Construindo a expressão regular para CPFs sequenciais

Para detectar CPFs sequenciais, precisamos criar um padrão que identifique números repetidos como "11111111111" ou "22222222222". A expressão regular a seguir faz exatamente isso:

^(\d)\1{10}$

Esta expressão quebra-se em:

Implementando a verificação em Python

Agora, vamos criar um script Python que usa esta expressão para validar uma lista de CPFs:

import re

def eh_cpf_sequencial(cpf):
    padrao = r'^(\d)\1{10}$'
    return bool(re.match(padrao, cpf))

# Exemplo de uso
cpfs = [
    '12345678901',
    '11111111111',
    '22222222222',
    '98765432100'
]

for cpf in cpfs:
    if eh_cpf_sequencial(cpf):
        print(f'O CPF {cpf} é SEQUENCIAL!')
    else:
        print(f'O CPF {cpf} é VÁLIDO.')

Exemplo Prático

CPF Sequencial? Motivo
11111111111 Sim Todos os dígitos são '1'
22222222222 Sim Todos os dígitos são '2'
12345678901 Não Dígitos variados, não sequenciais
98765432100 Não Dígitos variados, não sequenciais

Conclusão

Com esta expressão regular e o script Python, você consegue identificar automaticamente CPFs sequenciais em segundos, eliminando a necessidade de validação manual e garantindo a integridade dos dados da sua base.