DevToolPal
PT

Testador de Regex

Teste expressões regulares JavaScript ao vivo: destaque correspondências, inspecione grupos de captura e veja as substituições.

Roda localmente, nada é enviado

Opções

Texto de teste

0 caracteres · 0 B

Resultado

O resultado aparece aqui

O que faz

O testador de regex permite escrever uma expressão regular e ver, enquanto digita, exatamente o que ela encontra no seu texto de exemplo. As correspondências são destacadas no próprio texto, cada grupo de captura é listado com seu valor e posição, e um modelo de substituição opcional mostra o que String.replace produziria.

Como usar

  1. Cole o texto que você quer pesquisar em Texto de teste ou clique em Exemplo.
  2. Digite o padrão em Expressão regular no painel de opções. Não adicione as barras ao redor.
  3. Ative as flags de que precisar: g para todas as correspondências, i para ignorar maiúsculas e minúsculas, m para ^ e $ por linha, s para que . também case com quebras de linha, u para Unicode completo.
  4. Leia o resultado: o número de correspondências, o texto destacado e uma tabela com cada correspondência e seus grupos. Clique em Copiar para copiar qualquer valor.
  5. Para testar uma substituição, preencha Substituir por, por exemplo $2, $1.

Exemplo

O padrão predefinido ([\w.+-]+)@([\w-]+(?:\.[\w-]+)+) encontra endereços de e-mail e captura o nome de usuário e o domínio separadamente. Com a substituição $1 at $2, o texto hello@example.com vira hello at example.com.

Referência rápida

  • \d dígito, \w caractere de palavra, \s espaço em branco, . qualquer caractere
  • * zero ou mais, + um ou mais, ? opcional, {2,5} entre 2 e 5
  • [abc] um destes, [^abc] nenhum destes, a|b um ou outro
  • (...) grupo de captura, (?<name>...) grupo nomeado, (?:...) grupo sem captura
  • (?=...) lookahead, (?<=...) lookbehind, \b limite de palavra

Perguntas frequentes

› Qual variante de regex esta ferramenta usa?

O motor JavaScript (ECMAScript) embutido no seu navegador, o mesmo usado pelo Node.js, pelo Deno e por todos os navegadores. A maior parte da sintaxe é compartilhada com PCRE, Python e Java, mas alguns recursos, como quantificadores possessivos e recursão, não são suportados.

› Por que meu padrão encontra só uma correspondência?

Ative a flag Global (g). Sem ela, o JavaScript para depois da primeira correspondência.

› Como me refiro aos grupos na substituição?

Use $1, $2… para grupos numerados, $<name> para grupos nomeados, $& para a correspondência inteira e $$ para um cifrão literal.

› Por que ^ e $ não casam em todas as linhas?

Por padrão, eles casam apenas no início e no fim do texto inteiro. Ative Multilinha (m) para que casem nas quebras de linha.

› Meu texto é enviado para algum lugar?

Não. A busca roda no seu navegador. Padrões muito lentos (backtracking catastrófico) podem travar a aba, então evite quantificadores aninhados como (a+)+ em entradas longas.