Testador de Expressão Regular
Teste e depure expressões regulares instantaneamente no navegador. Destaque correspondências, veja grupos de captura, use o modo substituir — grátis e privado.
Teste e depure expressões regulares instantaneamente no navegador. Destaque correspondências, veja grupos de captura, use o modo substituir — grátis e privado.
Expressões regulares são uma linguagem específica de domínio para combinar padrões em texto. Eles fazem parte da computação desde 1968 e agora estão integrados em todas as linguagens de programação modernas, editores de texto e ferramentas de pesquisa de linha de comando. A sintaxe é concisa, mas propensa a erros: pequenas alterações produzem um comportamento de correspondência sutilmente diferente e expressões complexas tornam-se ilegíveis rapidamente. Um testador que mostra correspondências em tempo real enquanto você edita o padrão é a maneira mais eficaz de desenvolver e verificar regex.
Este testador é executado em seu navegador usando o mecanismo JavaScript regex (o mesmo que seu aplicativo usa se for executado em um navegador). Os padrões e o texto de teste são atualizados de forma reativa: cada alteração em qualquer um deles executa novamente a correspondência. Os grupos de correspondência são destacados, os grupos capturados são listados e os sinalizadores (sem distinção entre maiúsculas e minúsculas, multilinhas, globais) são expostos para teste.
A sintaxe Regex varia sutilmente entre os mecanismos. JavaScript segue as especificações ECMAScript; Python, PCRE (usado por PHP e muitos outros), Java e Go têm seus próprios dialetos com recursos sobrepostos, mas não idênticos. Os padrões desenvolvidos aqui usam a sintaxe ECMAScript; a portabilidade entre mecanismos requer a verificação da documentação de cada destino.
Bugs Regex são notoriamente difíceis de depurar após a implantação. Um padrão que parece razoável pode corresponder mais ou menos do que o pretendido, falhar em casos extremos ou ter retrocesso catastrófico em determinadas entradas. Testar padrões interativamente em relação a entradas representativas detecta problemas antes da revisão e produção do código.
Os padrões também se beneficiam da documentação. Mostrar uma regex ao lado da entrada que deve corresponder e da entrada que não deve corresponder torna a intenção explícita. Os futuros mantenedores (incluindo você daqui a seis meses) apreciam mais os casos de teste documentados do que as frases simples e inteligentes.
Digite um padrão, digite a entrada de teste e veja as correspondências destacadas ao vivo.
A regex JavaScript segue a especificação ECMAScript. Principais recursos: classes de caracteres ([abc], [^abc]), quantificadores (*, +, ?, {n,m}), alternância (|), agrupamento ((...)), grupos de captura e não captura, lookahead e lookbehind (mecanismos modernos), referências anteriores, grupos nomeados, escapes de propriedade Unicode (com sinalizador u) e o conjunto padrão de sequências de escape.
Diferenças importantes do PCRE e Python: o suporte lookbehind é recente em JavaScript (2018+); grupos nomeados usam sintaxe (?<nome>...); alguns escapes Unicode exigem que o sinalizador u funcione corretamente. Os padrões destinados ao uso em vários idiomas devem ser verificados na documentação de cada destino.
Desempenho: mecanismos regex baseados em retrocesso (a maioria incluindo JavaScript) podem ter retrocesso catastrófico em certos padrões patológicos. Testes que travam o testador são um sinal de que o padrão precisa de simplificação – normalmente evitando quantificadores aninhados e alternâncias ambíguas.