WikiPlus

Extrair dados de texto com regex — emails, datas e preços

Extrair dados estruturados de textos não estruturados é uma tarefa recorrente em automação, análise de dados e web scraping. Com expressões regulares bem construídas, você pode identificar e capturar emails, datas, valores monetários, números de telefone e qualquer outro padrão repetível em documentos de texto, planilhas ou páginas web. O Testador de Regex da WikiPlus, com seu processamento 100% local no navegador, é o ambiente ideal para desenvolver e refinar esses padrões de extração antes de aplicá-los em scripts de automação ou pipelines de dados.

Extraindo endereços de email de textos

Textos corporativos, relatórios e páginas web frequentemente contêm endereços de email embutidos. Uma regex eficiente para extrair emails é: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}. Diferente das regex de validação que usam âncoras ^ e $, para extração você omite as âncoras para que a regex encontre padrões em qualquer posição do texto. Com a flag global (g), ela captura todos os emails do texto de uma vez. Para extrair apenas emails de domínios .com.br, você pode refinar: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9-]+\.com\.br. Teste com exemplos reais no Testador de Regex da WikiPlus: cole um texto que contenha emails misturados com outro conteúdo e verifique se todos são capturados corretamente sem falsos positivos.

Capturando datas em diferentes formatos

Datas aparecem em muitos formatos diferentes em documentos reais: DD/MM/AAAA (padrão brasileiro), AAAA-MM-DD (ISO 8601), DD de mês por extenso de AAAA, e outros. Para capturar o formato brasileiro: (0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[0-2])/(\d{4}). Para o formato ISO: \d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]). Para datas por extenso como '12 de maio de 2026': (\d{1,2}) de (janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro) de (\d{4}). Usando grupos de captura, você pode não apenas encontrar a data mas extrair separadamente o dia, mês e ano para conversão de formato. Isso é muito útil em scripts de normalização de dados históricos com formatos inconsistentes.

Extraindo preços e valores monetários brasileiros

Valores em reais aparecem em formato R$ 1.234,56 ou variações como R$1234,56 ou apenas 1.234,56. Uma regex flexível para capturar valores monetários em reais: R\$\s*[\d.]+(?:,[\d]{1,2})?. Para capturar apenas o número sem o símbolo R$: (?<=R\$\s*)[\d.]+(?:,[\d]{1,2})?. Esta segunda versão usa lookbehind para encontrar números precedidos por R$ sem incluir o símbolo na captura. Para valores sem símbolo monetário mas com formatação de milhar e centavos brasileira: \b\d{1,3}(?:\.\d{3})*(?:,\d{2})\b. Esses padrões são úteis em extração de preços de e-commerces, notas fiscais eletrônicas (NF-e) e planilhas financeiras. Sempre teste com exemplos reais que incluam os edge cases mais comuns do seu contexto.

Extração de dados em pipelines Python e JavaScript

Na prática, extração de dados com regex faz parte de scripts maiores de processamento. Em Python, o padrão mais eficiente é compilar a regex uma vez e reutilizá-la: import re; padrao = re.compile(r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}'); emails = padrao.findall(texto). O método findall retorna uma lista com todas as correspondências. Para extração com grupos, use finditer que retorna objetos Match com acesso a cada grupo. Em JavaScript, o método matchAll (ES2020) retorna um iterador de todos os matches com grupos: [...texto.matchAll(/regex/g)]. Para documentos grandes, como logs de servidor com milhões de linhas, processe linha a linha em vez de carregar tudo na memória. Desenvolva e valide os padrões no Testador de Regex da WikiPlus com amostras representativas antes de escalar.

Perguntas frequentes

Como extrair apenas números de telefone celular (com 9 dígitos) de um texto?
Use a regex: \(?\d{2}\)?[\s.-]?9\d{4}[\s.-]?\d{4}. Ela captura celulares com DDD entre parênteses ou não, com ou sem separadores. O '9' obrigatório após o DDD identifica celulares no padrão brasileiro. Teste com variações de formatação para garantir cobertura completa.
É possível extrair dados de PDFs usando regex com o WikiPlus?
Sim. Use a ferramenta de OCR ou PDF para Texto da WikiPlus para converter o documento em texto, depois aplique regex no conteúdo extraído usando o Testador de Regex. Todo o processamento ocorre localmente no navegador, garantindo privacidade dos dados do documento.
Como evitar falsos positivos ao extrair dados com regex?
Use âncoras de palavra (\b) para garantir que você está capturando padrões completos e não partes de palavras maiores. Adicione contexto negativo com lookbehind ou lookahead negativo. Teste explicitamente com exemplos que NÃO devem ser capturados para verificar que a regex os rejeita corretamente.