Porque encadear ferramentas em vez de usar só o testador de regex?
Um exemplo ilustrativo de cenário: recebes um ficheiro de registo (log) de um formulário web onde os parâmetros ainda estão codificados em URL (com %20, %40 e semelhantes), e precisas de extrair todos os endereços de email submetidos, para depois confirmar que a lista final não foi alterada por engano antes de a entregares a outra pessoa. Isto dá-se em três passos, sempre no navegador, sem instalar nada.
Passo 1 — Descodificar o texto antes de escrever o padrão regex
%20 (espaço) ou %40 (arroba), é mais simples descodificá-lo primeiro com o codificador/descodificador de URL do que tentar escrever um regex que lide com o texto ainda codificado.Escrever um padrão regex que reconheça tanto @ como %40 ao mesmo tempo obriga a duplicar alternativas no padrão, tornando-o mais frágil e difícil de rever. Ao descodificar primeiro, o texto de teste que colas no testador de regex fica igual ao que um utilizador realmente escreveu — e o padrão de email simples ^[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}$ passa a funcionar sem alterações.
Este passo é ainda mais relevante quando o texto de origem inclui acentos ou caracteres fora do alfabeto latino (comuns em nomes e moradas em português), que aparecem como sequências %C3%A3 ou semelhantes quando codificados — descodificar primeiro evita teres de incluir essas sequências no teu padrão regex.
Passo 2 e 3 — Extrair com regex, depois gerar um hash de verificação
No separador «Extrair / Listar» do testador, escolhe «linha a linha» como separador e ativa «remover duplicados» se o registo tiver o mesmo email repetido várias vezes — o resultado é uma lista limpa, pronta a copiar. Este é o momento em que o trabalho pesado do regex termina.
| Passo | Ferramenta | Entrada | Saída |
|---|---|---|---|
| 1 | Codificador/Descodificador de URL | nome%40exemplo.com | nome@exemplo.com |
| 2 | Testador de Regex (Extrair/Listar) | Texto completo descodificado | Lista de emails, um por linha |
| 3 | Gerador de Hash | Lista de emails extraída | Hash SHA-256 (impressão digital) |
O hash gerado no passo 3 não "protege" os dados nem os torna anónimos — serve apenas como uma verificação prática: se voltares a gerar o hash mais tarde a partir do mesmo texto extraído e obtiveres o mesmo resultado, sabes que a lista não foi alterada entre as duas verificações. É um exemplo simples de como usar duas ferramentas independentes para um objetivo de controlo de qualidade, sem precisares de escrever nenhum código.
Dica avançada — usa grupos com nome quando o padrão cresce
(?<dominio>[\w-]+) em vez de um (...) anónimo — para tornar o padrão legível meses depois, e para tornar a substituição mais clara com $<dominio> em vez de $2.No separador «Explicar» do testador, o diagrama visual do padrão mostra cada grupo com uma cor distinta, o que ajuda a confirmar visualmente que um grupo com nome está a capturar exatamente o segmento pretendido antes de o usares numa substituição ou numa extração.
Uma segunda dica avançada: antes de colares um padrão testado no navegador diretamente no teu código de produção, percorre os quatro separadores de linguagem em «Gerar código» (JavaScript, Python, PHP, Java) — isto é particularmente importante quando o padrão usa grupos com nome, porque a sintaxe exata do nome do grupo varia ligeiramente entre linguagens.
Testa o teu próprio fluxo: destaque de correspondências, grupos com nome, extração em lista e gerador de código para 4 linguagens.
Abrir Testador de Regex →