Visualizador de regex
Transforme expressões regulares em diagramas de trilho interativos, explore a árvore AST e teste correspondências ao vivo: 100% grátis e no lado do cliente.
Type any regular expression to see its railroad diagram, AST breakdown, and live match highlighting - entirely in your browser with no data sent to any server.
Quick Reference
.Any char (except \n)\dDigit [0-9]\wWord char [a-zA-Z0-9_]\sWhitespace^Start of string/line$End of string/line\bWord boundary(…)Capturing group(?:…)Non-capturing group(?<n>…)Named group(?=…)Positive lookahead(?!…)Negative lookahead*Zero or more (greedy)+One or more (greedy)?Zero or one{n,m}Between n and m times|Alternation (OR)[…]Character class[^…]Negated class\1Back-referenceRecursos
- Diagrama de trilho interativo: Veja sua expressão regular renderizada como um diagrama de trilho/sintaxe profissional em tempo real. Cada token (literais, grupos, quantificadores, alternâncias e lookaheads) é exibido como uma faixa visual navegável.
- Detalhamento da AST com árvore de tokens: Explore uma árvore de sintaxe abstrata recolhível mostrando cada nó analisado (sequências, alternâncias, grupos nomeados, quantificadores, retroreferências) com descrições legíveis que apontam exatamente o que cada parte da sua regex faz.
- Teste de correspondência ao vivo com destaque: Cole uma string de teste e veja as correspondências destacadas na hora. Uma tabela de grupos de captura mostra cada correspondência com seus valores de grupo numerados e nomeados, ajudando você a verificar a correção antes de levar o padrão para produção.
- 100% grátis, sem cadastro e sem servidor: Toda a análise, a geração de diagramas e a avaliação de correspondências rodam direto no seu navegador usando o motor de regex nativo do JavaScript. Nenhum dado sai do seu dispositivo, o que torna a ferramenta segura para padrões sensíveis, como regras de autenticação ou validadores de dados pessoais.
Casos de uso
- Depuração de padrões: Identifique na hora grupos mal pareados, armadilhas de quantificadores gulosos e problemas de ordem de alternância sem executar código, apenas inspecionando o diagrama visual.
- Revisões de código: Compartilhe um link para uma regex visualizada durante revisões de pull requests para que os revisores verifiquem a intenção sem analisar mentalmente sequências de escape brutas.
- Auditoria de segurança: Audite padrões de validação de entrada em busca de riscos de retrocesso catastrófico (ReDoS). A árvore AST torna imediatamente visíveis quantificadores aninhados e alternâncias ambíguas.
- Aprender expressões regulares: Iniciantes podem digitar padrões simples e adicionar recursos aos poucos, vendo exatamente como cada classe de caracteres, quantificador ou grupo afeta o diagrama.
- Geração de documentação: Exporte ou capture diagramas de trilho para documentação de API, wikis ou artigos técnicos e explique lógica de validação complexa sem textos longos.
- Testes multiplataforma: Teste o comportamento de um padrão com várias strings de exemplo ao mesmo tempo e verifique a extração de grupos de captura nomeados usada em roteamento de URL, analisadores de log ou divisores de CSV.
Como funciona o diagrama de trilho
Um diagrama de trilho (ou de sintaxe) visualiza uma gramática formal como um conjunto de trilhos. O padrão é lido da esquerda para a direita: cada token é uma caixa rotulada conectada por linhas. Quando há uma escolha (alternância via | ), os trilhos se separam verticalmente e se reúnem após as alternativas. Quando um token é opcional ou repetido, um arco de laço é desenhado acima do elemento para indicar o quantificador. Isso corresponde ao modelo mental que a maioria dos desenvolvedores usa ao raciocinar sobre uma regex: da esquerda para a direita, com ramificações para escolha e laços para repetição.
Detalhamento da AST
Ao lado do diagrama, a aba de detalhamento da AST mostra a árvore de sintaxe abstrata completa analisada a partir do seu padrão. Cada nó tem um tipo (sequência, alternância, grupo, quantificador, literal, classe de caracteres, escape, âncora, retroreferência) e uma descrição legível. A árvore é totalmente recolhível, então você pode focar em subpadrões específicos sem perder o contexto.
Teste de correspondência ao vivo
A aba «Testar e comparar» permite colar uma entrada de exemplo e ver imediatamente quais partes da string correspondem ao seu padrão. As correspondências são destacadas em linha, e uma tabela de grupos de captura mostra cada grupo numerado e nomeado extraído de cada correspondência, os mesmos dados que seu código de aplicação recebe ao chamar String.prototype.matchAll() ou RegExp.prototype.exec() .
Sintaxe suportada
O visualizador suporta todo o conjunto de recursos de regex do ECMAScript, incluindo classes de caracteres ( [a-z] , [^0-9] ), escapes abreviados ( \d , \w , \s ), âncoras ( ^ , $ , \b ), grupos de captura e sem captura, grupos nomeados via , lookaheads ( (?=…) , (?!…) ), lookbehinds ( (?<=…) , (?<!…) ), retroreferências ( \1 , \k<nome> ) e todos os quantificadores, incluindo as variantes preguiçosas ( *? , +? , ?? ).
Perguntas frequentes
Um diagrama de trilho (ou de sintaxe) visualiza uma regex como uma rede de trilhos lida da esquerda para a direita. Escolhas (alternâncias) se bifurcam em faixas paralelas e voltam a se unir. Elementos repetidos (quantificadores) mostram um arco de laço acima da caixa. A visualização reproduz diretamente como o motor de regex percorre o padrão.
Tudo roda inteiramente no seu navegador. O analisador é TypeScript puro, o diagrama é renderizado como SVG com React e o motor de correspondência é o RegExp nativo do JavaScript. Nenhum dado é enviado a servidor algum, o que torna a ferramenta segura para padrões sensíveis.
O visualizador suporta toda a gramática de regex do ECMAScript: classes de caracteres, escapes abreviados (\d, \w, \s), âncoras, grupos (de captura, sem captura, nomeados), lookaheads, lookbehinds, retroreferências e todos os quantificadores, incluindo as variantes preguiçosas. Os padrões podem ser digitados como texto simples ou na notação /padrão/flags.
Vá para a aba «Testar e comparar» e cole sua entrada de exemplo na área de texto. As correspondências são destacadas em linha em tempo real. Uma tabela abaixo mostra cada correspondência com seus valores de grupos de captura numerados e nomeados, exatamente o que sua aplicação recebe ao chamar exec() ou matchAll().
A aba da árvore de sintaxe abstrata (AST) mostra uma árvore recolhível com cada nó analisado: sequência, alternância, grupo, quantificador, literal, classe de caracteres, escape, âncora e retroreferência, com uma descrição em linguagem simples de cada nó.
Sim, em parte. A árvore AST torna imediatamente visíveis quantificadores aninhados e alternâncias ambíguas, as duas causas mais comuns de retrocesso catastrófico (ReDoS). Identificar padrões como (?:a+)+ no diagrama ajuda a detectar o perigo antes de ir para produção.
As flags modificam como o motor avalia o padrão. A ferramenta suporta: g (global: encontrar todas as correspondências), i (sem diferenciar maiúsculas), m (multilinha: ^ e $ correspondem a limites de linha) e s (dot-all: . corresponde a quebras de linha). Ative as flags com os botões ao lado da entrada ou inclua-as na notação /padrão/flags.