Testador de Regex
Escreva uma expressão regular, alterne as flags e veja cada correspondência destacada na sua cadeia de teste enquanto digita. Os grupos de captura são listados por correspondência e uma prévia da substituição roda ao lado, então você confirma ao mesmo tempo o que o padrão encontra e o que ele produziria. O motor é o próprio RegExp do JavaScript do navegador, o que significa que o que você vê aqui é exatamente o que seu código fará — inclusive nos pontos em que o JavaScript difere de PCRE, Python ou Go. Nada é enviado: padrões e dados de teste ficam na página, o que importa quando a amostra que você depura são dados reais.
- #1 @14jane@example.com
- #2 @34john@test.io
Contact me at [redacted] or [redacted] for details.
Como usar
- Insira um padrão regex (sem delimitadores).
- Alterne flags: g (global), i (ignora caso), m (multilinha), s (dotall), u (unicode).
- Digite ou cole uma string de teste — matches destacam ao vivo.
- Forneça uma string de substituição para prever o resultado.
Perguntas frequentes
- Qual dialeto é usado?
- Regex JavaScript (ECMAScript). Lookbehinds, grupos nomeados e escapes de propriedades Unicode funcionam em navegadores modernos.
- Como referenciar grupos na substituição?
- Use $1, $2, $& para o match completo ou $<nome> para grupos nomeados.
- Há limite de matches?
- Os primeiros 10.000 ciclos são capturados para manter a UI responsiva; a lista mostra os 50 primeiros.
- Meus dados são enviados?
- Não. Padrões e strings rodam apenas no seu navegador e o salvamento automático fica no seu armazenamento local.
- Por que meu padrão trava a página?
- Quase certamente retrocesso catastrófico. Padrões que aninham quantificadores — algo como (a+)+b — podem forçar o motor a percorrer um número exponencial de maneiras de dividir a entrada antes de admitir que não há correspondência. A correção é tornar as partes internas inequívocas, normalmente trocando um .* guloso por uma classe de caracteres negada que não possa se sobrepor ao delimitador.
- O que a flag global muda de fato?
- Sem g, a busca para no primeiro resultado. Com g, ela continua por toda a cadeia, que é o que faz a lista de correspondências ter mais de uma. Também torna a expressão com estado no código real, porque ela lembra onde parou. Esse é o motivo habitual de um padrão reutilizado em um laço parecer pular correspondências alternadas.
- Como faço para casar em várias linhas?
- Duas flags diferentes estão envolvidas e são fáceis de confundir. Multilinha muda o que as âncoras significam, de modo que ^ e $ casam em cada quebra de linha e não só nas extremidades da cadeia. Ponto-tudo muda o que o ponto casa, deixando-o cobrir também as quebras de linha. Se um padrão para no fim da primeira linha, normalmente era ponto-tudo que você queria.
Guias sobre este tema
Ferramentas relacionadas
Testador de padrões glob
Teste caminhos de arquivo contra um padrão glob (*, **, ?, [...], {a,b}) no seu navegador.
Buscar e Substituir
Buscar e substituir num bloco de texto. Regex opcional com flags global, case-insensitive, multiline e dotAll. Contagem de matches ao vivo.
Conversor de escape de strings
Escapa uma string para 10 contextos de uma vez — JavaScript, JSON, entidades HTML, URL, SQL, regex, Bash (aspas simples/duplas), C string, escapes Unicode \u. Copie o que precisar.
Avaliador de Expressões Matemáticas
Avalie expressões aritméticas com funções matemáticas usuais — `sqrt`, `sin`, `log`, `pow`, `min/max`, e constantes `pi`, `e`, `tau`.
Testador de seletores CSS
Teste um seletor CSS contra seu HTML e veja exatamente quais elementos correspondem, no seu navegador.
Explicador de Expressões Cron
Traduza uma expressão cron para linguagem natural e veja cada campo separadamente.