Pontos-chave
- 01O testador usa o mecanismo RegExp nativo do JavaScript do seu navegador, portanto os resultados correspondem exatamente ao que Node.js ou um navegador moderno produzirá em produção.
- 02Todas as seis flags do JavaScript (g, i, m, s, y, u) estão disponíveis individualmente.
- 03Modelos de substituição suportam $1, $2, $&, e $$ para visualizações de substituição poderosas.
- 04Nada é enviado para um servidor — padrões e strings de teste permanecem inteiramente no seu navegador.
Por Que um Testador de Regex Dedicado Supera Sua IDE
Expressões regulares são poderosas, mas notoriamente difíceis de ler à primeira vista. Até desenvolvedores experientes se deparam com surpresas: um ponto que engole quebras de linha, um quantificador guloso que consome demais, ou um grupo de captura que está fora de um. Um testador dedicado remove o código circundante para que você possa iterar apenas no padrão e na string de entrada de uma vez.
O testador de regex do Handytool avalia padrões com o mecanismo RegExp nativo do navegador, o que significa que não há camada de tradução e nenhuma incompatibilidade de sabor. Se o testador disser que corresponde, seu código JavaScript também corresponderá. Alterne flags, cole uma nova string de amostra e os resultados são atualizados instantaneamente — nenhum botão de execução necessário.
Como Testar um Padrão de Regex
O fluxo de trabalho inteiro leva menos de um minuto.
- 01
Cole ou digite seu padrão
Digite sua expressão regular no campo de padrão. Omita as barras circundantes — as flags são definidas separadamente.
- 02
Defina suas flags
Alterne g, i, m, s, y e u individualmente. A flag global é quase sempre necessária para casos de uso com múltiplas correspondências.
- 03
Cole sua string de teste
Adicione o texto que deseja corresponder. Cada digitação re-executa o padrão e destaca correspondências na entrada.
- 04
Inspecione grupos de captura
Percorra a lista de correspondências para ver a posição de cada correspondência e o valor de cada grupo de captura numerado.
- 05
Visualize uma substituição
Digite um modelo de substituição usando $1, $2 ou $& para ver a saída substituída ao vivo — ótimo para validar uma chamada String.replace() antes de escrevê-la.
Lista de Verificação Rápida de Depuração de Regex
Antes de assumir um bug, verifique estes itens:
- 01A flag global está ativada se você espera mais de uma correspondência?
- 02Os pontos devem corresponder a quebras de linha? Ative a flag s se sim.
- 03Você está usando grupos numerados ($1, $2) ou grupos nomeados (\k<name>) na substituição?
- 04O padrão usa escapes Unicode (\p{…})? Requer a flag u.
- 05A flag sticky (y) precisa de um lastIndex novo para cada correspondência?
Privado por Design
O testador de regex não faz nenhuma solicitação de rede quando você digita. Seu padrão e string de teste são processados inteiramente pelo mecanismo JavaScript do navegador — nunca tocam um servidor. Isso torna seguro colar linhas de log proprietárias, cargas de API internas ou strings sensíveis durante a depuração.
Como não há backend envolvido, também não há limite de taxa, nenhuma conta necessária e nenhuma restrição de tamanho de cola além do que sua aba do navegador pode lidar. A maioria dos padrões e strings do dia a dia são avaliados em menos de um milissegundo.
Perguntas Frequentes do Testador de Regex
Qual sabor de regex este testador usa?
JavaScript (ECMAScript). Os padrões são avaliados pelo mecanismo RegExp nativo do navegador, correspondendo exatamente ao comportamento do Node.js e do navegador moderno. Lookbehinds, grupos nomeados e escapes de propriedade Unicode (\p{…} com a flag u) são todos suportados.
Meu padrão ou string de teste sai da página?
Não. Tudo é executado localmente no seu navegador — nenhuma solicitação de rede é feita quando você digita um padrão, altera flags ou visualiza uma substituição.
Como uso grupos de captura no campo de substituição?
Use $1, $2, … para grupos numerados, $& para a correspondência inteira e $$ para inserir um cifrão literal. A visualização é atualizada ao vivo conforme você altera o padrão ou o modelo.
Isso funciona para padrões Python ou PCRE?
O mecanismo é JavaScript, portanto a maioria dos padrões básicos se comporta de forma idêntica, mas grupos nomeados no estilo Python (?P<name>…) e quantificadores possessivos não são suportados. Use os equivalentes JS — (?<name>…) para grupos nomeados.
Por que meu regex não corresponde entre quebras de linha?
Ative a flag s (dot-all) ou substitua . por [\s\S]. Sem ela, o ponto corresponde a qualquer caractere, exceto quebra de linha.