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.
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).
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.
grep -E '\b\d{3}\.\d{3}\.\d{3}-\d{2}\b' arquivo_de_log.log
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)
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".
| 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 |
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.