ragfica.pages.dev

Como usar regex para encontrar CPFs em arquivos de log?

Encontrar CPFs em arquivos de log pode ser uma tarefa tediosa e propensa a erros se feita manualmente. Com uma expressão regular bem elaborada, você pode automatizar essa busca em segundos, extraindo todos os CPFs válidos de forma rápida e precisa.

Pré-requisitos

Entendendo o padrão do CPF

Um CPF brasileiro é composto por 11 dígitos, geralmente formatado como XXX.XXX.XXX-XX, onde os dois últimos dígitos são verificadores. Para encontrar CPFs em um arquivo de log, precisamos de uma regex que seja flexível o suficiente para lidar com diferentes formatos (com ou sem pontuação).

Regex para encontrar CPFs

A expressão regular a seguir captura CPFs no formato XXX.XXX.XXX-XX, XXX.XXX.XXX XX, ou apenas os 11 dígitos:

\b\d{3}\.\d{3}\.\d{3}-\d{2}\b

Se quiser capturar CPFs sem pontuação, use:

\b\d{11}\b

Para uma regex mais robusta que valida os dígitos verificadores (embora não seja necessário para busca em logs), você pode usar uma abordagem mais complexa, mas para a maioria dos casos, as opções acima são suficientes.

Usando a regex em diferentes ferramentas

Com grep (Linux/Mac)

grep -E '\b\d{3}\.\d{3}\.\d{3}-\d{2}\b' arquivo_de_log.log

Com Python

import re

# Lê o arquivo de log
with open('arquivo_de_log.log', 'r') as file:
    conteudo = file.read()

# Regex para encontrar CPFs
pattern = r'\b\d{3}\.\d{3}\.\d{3}-\d{2}\b'
cpfs_encontrados = re.findall(pattern, conteudo)

# Imprime os CPFs encontrados
for cpf in cpfs_encontrados:
    print(cpf)

Com Notepad++ (Windows)

Use a função "Localizar" (Ctrl+F), marque a opção "Expressão Regular" e insira a regex `\b\d{3}\.\d{3}\.\d{3}-\d{2}\b` no campo "Localizar".

Exemplo Prático

Conteúdo do Log CPFs Encontrados
Usuário 12345 acessou em 01/01/2023. CPF: 123.456.789-00 123.456.789-00
Erro no sistema. Usuário: 67890. CPF: 987.654.321-11 987.654.321-11
Login bem-sucedido. CPF: 111.222.333-44 111.222.333-44

Conclusão

Com este método, você automatiza a tarefa de encontrar CPFs em arquivos de log em segundos, evitando erros manuais e garantindo que nenhum dado seja perdido. A regex é simples, mas poderosa, e pode ser adaptada para diferentes formatos conforme necessário.