Testador de regex
Teste expressões regulares ao vivo — destaque, grupos e substituição
\d \w \sdígito, caractere de palavra, espaço^ $ \binício, fim, limite de palavra* + ? {n,m}0+, 1+, opcional, intervalo(…) (?:…) (?<name>…)captura, não captura, nomeado[abc] [^abc] [a-z]um de, nenhum de, intervaloa|b (?=…) (?!…)alternância, lookaheadRetrocesso catastrófico, contido
Quantificadores aninhados, como (a+)+$, podem levar o mecanismo de correspondência a explorar um número exponencial de caminhos — a clássica armadilha ReDoS:
- Este verificador envolve seu padrão em um worker com orçamento de etapas; uma correspondência descontrolada é interrompida e relatada, em vez de congelar a aba.
- Se você observar uma interrupção, o padrão também é perigoso em produção — nenhum tempo limite no servidor resolve um loop quadrático no mecanismo de correspondência.
- Correções geralmente eficazes: torne grupos internos não ambíguos, use âncoras em ambos os extremos e substitua aninhamentos gananciosos por classes de caracteres.
Como este verificador executa padrões com segurança
Realce de correspondências ao vivo
Padrão, texto de teste e substituição se atualizam enquanto você digita: as correspondências brilham em cores alternadas, o contador atualiza e a prévia de substituição aplica $1 e grupos nomeados como $<name>.
Grupos com posições
Cada correspondência se expande em grupos de captura numerados e nomeados, com valores e posições de caractere, deixando claro qual parte do padrão capturou o quê antes de usar em produção.
Flags, biblioteca e referência
As flags g, i, m, s, u e y ficam a um clique, seis padrões prontos cobrem e-mails, URLs, IPv4, datas, cores hex e telefones, e uma referência de sintaxe explica âncoras, quantificadores, grupos e lookarounds.
Perguntas frequentes
Qual dialeto de regex isto usa?
O motor JavaScript (ECMAScript) embutido no seu navegador. A maior parte da sintaxe é comum ao PCRE, mas algumas coisas diferem — por exemplo, não há quantificadores possessivos, e o lookbehind exige um navegador moderno. Os padrões testados aqui se comportam exatamente como no código JS.
Meu texto é enviado para algum lugar?
Não. Correspondência, agrupamento e substituição rodam todos localmente com a RegExp nativa do navegador, então seus padrões e dados de teste nunca saem da página. Também funciona off-line.
Uma regex pode travar a página?
Um padrão patológico (backtracking catastrófico) pode ficar lento, mas só na sua própria aba. Avançamos além de correspondências de largura zero e limitamos os resultados a 10.000 para manter a interface responsiva. Em entradas longas, prefira padrões específicos a quantificadores aninhados como (a+)+.
Por que meu padrão trava em algumas entradas, mas não em outras?
O custo do backtracking depende da forma da entrada, não apenas do seu comprimento: por exemplo, a string <code>aaaa...b</code> aplicada à expressão regular <code>(a+)+b</code> causa explosão, enquanto <code>aab</code> é processada instantaneamente. Atacantes criam exatamente essas strings patológicas; portanto, teste com sequências longas de caracteres repetidos antes de lançar qualquer regex exposta ao usuário.
Ferramentas relacionadas
O que é um testador de expressões regulares?
As expressões regulares — padrões para buscar e substituir texto — estão entre as ferramentas mais poderosas e ao mesmo tempo mais propensas a erro da programação. Uma barra invertida fora do lugar muda o que é encontrado, e um padrão que parece certo no papel costuma surpreender quando encara dados reais. Este testador mostra ao vivo o que um padrão realmente faz: cada correspondência é destacada no texto de teste, os grupos de captura numerados e nomeados são decompostos com suas posições, e uma prévia de substituição mostra o resultado com a sintaxe $1 ou $
O que esta ferramenta faz
- 🔦 Destaque ao vivo de cada correspondência enquanto você digita
- 🧩 Grupos de captura numerados e nomeados com posições
- 🔁 Prévia de substituição com sintaxe $1 e $
- 🚩 Flags: g, i, m, s, u, y
- 📚 Biblioteca de padrões: e-mail, URL, IPv4, data, cor hex, telefone
- 📖 Tabela de referência de sintaxe integrada
Quando usar
- Para escrever um padrão de validação para um campo de formulário
- Para depurar por que uma regex encontra demais ou de menos
- Para construir um script de processamento de texto que dependa de grupos de captura
- Para verificar um padrão da comunidade antes de adotá-lo
Privacidade: o padrão e o texto de teste são avaliados inteiramente no seu navegador — nada é enviado ou registrado. Grátis.