Cole uma expressão regular no estilo JavaScript/PCRE e obtenha um diagrama ferroviário (sintático) que torna a estrutura óbvia — muito mais legível que uma parede de metacaracteres.
Como funciona:
- O padrão é analisado em um AST com a biblioteca
ret.
- Cada nó do AST é mapeado para uma primitiva de diagrama ferroviário: literais viram caixas arredondadas, grupos são rotulados com seu índice de captura (e nome), alternativas ramificam em uma escolha, e quantificadores (*, +, ?, {n,m}) são renderizados como setas de retorno.
- O diagrama é renderizado como um SVG autossuficiente via
railroad-diagrams.
O relatório também lista:
- Cada grupo de captura com seu número e nome (se houver).
- Cada flag com uma explicação em linguagem clara (g, i, m, s, u, y, d, x).
Leia o diagrama da esquerda para a direita. É especialmente útil para ensinar regex, documentar padrões complexos e detectar formas de backtracking catastrófico (quantificadores aninhados) antes da produção.
Limitações: o parser cobre a sintaxe JavaScript/PCRE incluindo classes de caracteres, âncoras, retroreferências, grupos nomeados, lookaround (reportado) e quantificadores limitados/ilimitados. Alguns recursos avançados do PCRE (padrões recursivos, \K, branch reset, condicionais) não são suportados e reportam erro de análise.