Testador e Depurador de Regex

Valide expressões regulares em tempo real com destaque visual das correspondências.

Testador e Depurador de Regex

Valide expressões regulares em tempo real com destaque visual das correspondências.

Como funciona

1
Insira ou cole seu texto
Digite ou cole seus dados ou código no espaço de trabalho.
2
Aplique o processamento
Execute a ferramenta para formatar, filtrar ou converter.
3
Copie a saída
Copie o resultado processado para a área de transferência.
Central de Conhecimento e Conceitos

Testador de Expressões Regulares (Regex), Motor JavaScript (ECMAScript) e Captura de Grupos

Expressões Regulares (Regex - Regular Expressions) constituem uma linguagem formal concisa e extremamente poderosa para correspondência de padrões de texto, validação de regras de campos e manipulação de strings. Presente nativamente em quase todas as linguagens modernas de programação, a sintaxe de regex permite rastrear padrões complexos como e-mails, endereços IP, documentos de identificação e URLs com alto rigor matemático.

Um programador precisa validar e extrair dados de registros de log contendo endereços IPv4 e carimbos de data/hora no formato [2026-09-25] 192.168.1.100 GET /api. Ao aplicar a expressão regular \[(?<data>\d{4}-\d{2}-\d{2})\]\s+(?<ip>\d{1,3}(?:\.\d{1,3}){3}) com as flags g (global) e m (multilinha), o testador localiza 150 correspondências em menos de 5 milissegundos. O painel detalha visualmente cada grupo de captura nomeado ('data' e 'ip') com índices de posição exata (start e end), enquanto a área de substituição permite reordenar os elementos de texto instantaneamente utilizando marcadores como $1 ou $<nome>.

A compilação do motor de regex e a validação de strings executam 100% no seu navegador. Nenhuma linha de código, base de dados ou amostra textual confidencial é enviada para servidores externos, blindando suas regras de negócio.

Guia Técnico Detalhado

Por que seu Regex não funciona: Modificadores, quebras de linha e caracteres de escape

Corrija expressões regulares que não funcionam. Entenda modificadores g, i, m, s, âncoras multilinha ^ e $, quantificadores gulosos vs preguiçosos e ReDoS.

Ler guia completo →

Arquitetura Central e Fórmula Matemática

Regex = /Padrão/Flags | Flags Principais: g (global), i (insensível a maiúsculas), m (multilinha), s (dotAll), u (unicode)

Autômato finito determinístico/não-determinístico que avalia cadeias de caracteres contra grafos de correspondência de padrões estruturados.

Melhores Práticas e Diretrizes Essenciais

  • Cuidado com retrocessos catastróficos (Catastrophic Backtracking): Evite quantificadores aninhados ambíguos como (a+)+ que provocam consumo exponencial de CPU em strings inválidas longas.
  • Utilize grupos de não captura (?:...) quando não precisar dos valores: Grupos sem captura economizam memória e aceleram a execução do motor durante varreduras maciças.
  • Adote classes de caracteres específicas em vez de pontos genéricos: Prefira [^\s]+ ou [0-9]+ a .* para evitar correspondências vorazes excessivas (greedy matching).
  • Sempre ative a flag 'u' (Unicode) para lidar com emojis e acentos: O modo Unicode processa pares substitutos (surrogate pairs) como caracteres únicos, evitando contagens erradas.

Perguntas Frequentes (FAQ)

O que diferencia quantificadores gulosos (greedy) de preguiçosos (lazy)?
Quantificadores gulosos (*, +) capturam o maior trecho possível de texto que atenda ao padrão; adicionando um ponto de interrogação (*?, +?) tornam-se preguiçosos, capturando o menor trecho viável.
O que significam as âncoras ^ e $ na sintaxe de Regex?
O caractere ^ marca o início da cadeia de texto (ou início de cada linha com flag m) e $ marca o final, garantindo que o padrão cubra a linha inteira sem caracteres estranhos soltos.
Como funcionam as asserções de correspondência (Lookahead e Lookbehind)?
Elas verificam se um determinado padrão existe logo à frente (?=...) ou logo atrás (?<=...) da posição atual sem incluir esses caracteres no resultado da captura.
Posso testar expressões regulares escritas para Python ou PHP nesta ferramenta?
A ferramenta utiliza o motor nativo de expressões regulares do JavaScript (ECMAScript). Embora a maioria das sintaxes básicas seja compatível com Python, PHP, Ruby e Java, recursos exclusivos de motores como PCRE (quantificadores possessivos ou padrões recursivos) não são suportados pelo JavaScript padrão.