Pular para o conteúdo

Testar Regex Online — Testador de Expressões Regulares JS

Teste regex JavaScript online: destaque das correspondências ao vivo, grupos de captura e nomeados, todas as flags e prévia de substituição. Para após 1s.

Conversão no navegador · Sem registo

//g
Flags
Guia rápido
.
Qualquer caractere exceto quebra de linha (use a flag s para incluí-las)
\d \w \s
Dígito, caractere de palavra [A-Za-z0-9_], espaço em branco
\D \W \S
Não dígito, não caractere de palavra, não espaço em branco
[abc] [^abc]
Um de a, b, c / qualquer caractere exceto a, b, c
[a-z]
Qualquer caractere de a até z
^ $
Início / fim do texto (de cada linha com a flag m)
\b
Limite de palavra
* + ?
0 ou mais, 1 ou mais, 0 ou 1
{2,5}
Entre 2 e 5 vezes ({3} exatamente, {2,} pelo menos)
*? +?
Versões preguiçosas: correspondem ao mínimo possível
(abc)
Grupo de captura
(?<name>abc)
Grupo de captura nomeado
(?:abc)
Grupo sem captura
\1 \k<name>
Repete o que o grupo 1 / o grupo nomeado encontrou
a|b
a ou b
(?=a) (?!a)
Seguido de a / não seguido de a
(?<=a) (?<!a)
Precedido de a / não precedido de a
\p{L}
Qualquer letra de qualquer idioma (exige a flag u ou v)

Usa o motor de regex JavaScript (ECMAScript) do seu navegador, então os resultados batem com o código JavaScript. Outros motores, como PCRE, Python ou Java, diferem em parte da sintaxe. A busca roda em um worker em segundo plano e para após 1 segundo para proteger a página de backtracking catastrófico.

Como usar

  1. Digite uma expressão regular e marque as flags necessárias (g encontra todas as correspondências).
  2. Cole o texto a testar; as correspondências são destacadas e listadas com o índice e os grupos de captura.
  3. Ative Substituir para ver a prévia do resultado de String.replace com referências $1 ou $<name>.

Exemplo

Padrão: (?<user>\w+)@(\w+)\.com  flags: g
Texto: [email protected], [email protected]
Correspondências: [email protected] (user = alice, 2 = example), [email protected]
Substituir por $<user> at $2 → alice at example, bob at test

Detalhes e limitações

Os padrões rodam com o motor RegExp do JavaScript embutido no seu navegador, então lookbehind, grupos nomeados, escapes de propriedades Unicode e a flag d se comportam exatamente como no seu código. A flag v só aparece se o seu navegador tiver suporte.

A busca acontece em um Web Worker no seu dispositivo; nada é enviado. Cada execução é interrompida após cerca de 1 segundo, e no máximo 1.000 correspondências são listadas.

FAQ

Por que minha regex só encontra uma correspondência?

Em JavaScript, uma regex sem a flag g (global) para na primeira correspondência. Marque g para encontrar todas; este testador então lista cada uma.

O que é backtracking catastrófico?

Alguns padrões, como (a+)+$ ou (.*)*, podem levar tempo exponencial em textos que quase correspondem. Esta ferramenta executa a regex em um worker separado e a interrompe após 1 segundo, então a página continua respondendo e mostra um erro.

Uma regex testada aqui funciona em Python ou PHP?

Muitas vezes, mas nem sempre. Este testador usa o motor do JavaScript. Python, PHP (PCRE) e Java têm recursos e sintaxe diferentes para coisas como grupos nomeados, lookbehind e flags, então revise os padrões que dependem deles.

Referências de formatos

Página da ferramenta atualizada: