🧪 Testador de Regex
Teste expressões regulares ao vivo: correspondências, grupos, flags e resultados destacados, tudo local.
🔐 O padrão é compilado e executado localmente no navegador. Nada é enviado ao 0Appz ou a terceiros.
🎯 Resultado destacado
0📋 Detalhes das correspondências
📖 Referência rápida
\ddígitos\wcaracteres de palavra\sespaços em branco.qualquer caractere+ * ?repetição (1+, 0+, opcional)[abc]qualquer caractere do conjunto( )grupo de captura^ $início / fim do texto
Como usar esta ferramenta
Visão geral
Testador de Regex permite testar expressões regulares enquanto você digita. Digite um padrão, escolha as flags (g, i, m, s, u), cole o texto de teste e veja na hora cada correspondência destacada, com a lista mostrando posições e valores dos grupos. Padrões inválidos geram mensagens de erro claras. Há uma referência rápida para \d, \w, \s, quantificadores, conjuntos, grupos e âncoras. O motor roda inteiramente no navegador, nem o padrão nem o texto são enviados. Padrões, correspondências e grupos aparecem na hora, tudo processado localmente no navegador.Como o testador avalia padrões
O padrão é compilado pela engine RegExp nativa do JavaScript no navegador, o comportamento é exatamente o do seu código de produção, incluindo backtracking, quantificadores gulosos vs. preguiçosos e Unicode com a flag u. As correspondências são realçadas no lugar e a lista mostra índice e grupos. Erros de sintaxe ganham mensagens claras, e a referência cobre classes, âncoras, quantificadores e grupos.
Como funciona e o que suporta
| Propriedade | Comportamento |
|---|---|
| Engine | RegExp nativo do JavaScript (igual à produção) |
| Flags | g, i, m, s, u, y conforme o navegador |
| Saída | Realce em linha, lista com posições e grupos |
| Erros | Mensagens claras para padrões inválidos |
| Processamento | 100% no cliente; padrão e texto nunca enviados |
| Custo | Grátis, sem conta e sem anúncios |
Privacidade: padrões e dados ficam no navegador
Testes de regex costumam rodar em logs, e-mails e CSV reais. Tudo é avaliado localmente: nada é transmitido ou armazenado, e a página funciona offline.
Escrever padrões mais seguros
- Prefira classes específicas em vez de ponto.
- Ancore com ^ e $ para validar strings inteiras.
- Cuidado com quantificadores aninhados, backtracking catastrófico.
- Teste com dados reais, não só o caso perfeito.
- Escape entradas do usuário antes de inseri-las no padrão.
Veja também as ferramentas de desenvolvimento para JSON, JWT, UUID e URLs.
Backtracking catastrófico e desempenho de regex
Uma expressão regular que casa corretamente em uma string curta pode travar em uma longa, e o culpado usual é o backtracking. Os motores tentam alternativas quando um casamento falha, e quantificadores aninhados multiplicam essas alternativas. Um padrão como (a+)+b contra uma string de muitos a sem b obriga o motor a explorar um número exponencial de divisões da entrada: a clássica negação de serviço conhecida como ReDoS. Os sintomas são fáceis de reconhecer: um teste que termina na hora com dez caracteres e nunca retorna com trinta. Três hábitos evitam isso. Prefira classes de caracteres específicas a pontos amplos e limite quantificadores ao que os dados permitem: [a-z]{1,10} em vez de .*. Use âncoras (^ e $) e limites de palavra para o motor saber onde um casamento pode começar, o que elimina buscas inúteis. Onde a linguagem permite, grupos atômicos ou quantificadores possessivos dizem ao motor para não revisitar uma decisão já tomada. Ao testar, use sempre um exemplo válido, um inválido e uma entrada deliberadamente longa que quase casa, porque o quase é o que dispara o backtracking. O testador roda no seu navegador sem ida ao servidor, então você pode experimentar padrões de produção sem enviá-los a lugar nenhum.
Perguntas frequentes
Quais tipos de regex são suportados? +
O Testador de Regex usa o motor RegExp do JavaScript, a mesma sintaxe de navegadores e Node.js, incluindo as flags g, i, m, s e u.
O que cada flag faz? +
g encontra todas as correspondências, i ignora maiúsculas, m faz ^ e $ casarem com linhas, s faz o ponto casar com quebras de linha e u ativa Unicode completo.
Por que meu padrão aparece como inválido? +
O motor mostra uma mensagem clara sob o campo do padrão, geralmente parênteses ou colchetes desbalanceados, quantificadores inválidos ou escapes não suportados.
Meu texto é enviado a algum lugar? +
Não. O padrão e o texto de teste ficam inteiramente no navegador. Nada é enviado ao 0Appz ou a terceiros.