Testador de Expressões Regulares

Digite um padrão e veja as correspondências serem destacadas em tempo real no seu texto de teste. Analise cada grupo de captura, teste substituições e use padrões prontos para e-mails, URLs, datas e muito mais.

Atualizado em
Os resultados aparecem aqui.

Seus dados nunca saem do seu computador. Todo o processamento acontece localmente no navegador.

Como usar: Testador de Expressões Regulares

  1. Digite seu padrão entre as barras ou escolha um em “Padrões comuns”. Você também pode colar um literal completo como /\d+/g.
  2. Alterne opções como g (todas as correspondências), i (ignorar maiúsculas e minúsculas) ou m (várias linhas).
  3. Cole seu texto em “Testo de teste” — cada correspondência é destacada à medida que você digita.
  4. Dá uma olhada na aba “Correspondências” para ver as posições e os grupos de captura, ou abre a janela “Substituir” para ver uma prévia da substituição.
  5. Clique em “Copiar” para pegar a expressão regular como /pattern/flags; o padrão e os sinalizadores também ficam na URL da página pra você compartilhar.

O que é um testador de expressões regulares?

Uma expressão regular (regex) é uma linguagem de padrões compacta para localizar e transformar texto — seja para validar um campo de e-mail, extrair IDs de logs, renomear arquivos ou limpar dados. Como um único caractere pode mudar o que um padrão identifica, escrever expressões regulares por tentativa e erro dentro do seu código é demorado. Um testador de regex mostra na hora o que um padrão corresponde, quais grupos de captura ele preenche e o que uma substituição produziria.

Esse testador usa o próprio mecanismo de expressões regulares em JavaScript (ECMAScript) do seu navegador, então os resultados são exatamente o que String.prototype.match, matchAll, replace e RegExp.test você vê no Chrome, Firefox, Safari, Node.js e Deno. Os padrões são executados em um worker em segundo plano com um limite de tempo, então um padrão que fique fora de controle não congela a página.

Sinalizadores de expressões regulares em JavaScript

SinalizadorNomeEfeito
gglobalEncontra todas as correspondências, em vez de parar na primeira.
iignoreCase/abc/i corresponde a “ABC”.
mmultiline^ e $ encontra correspondências no início e no final de cada linha.
sdotAll. também encontra quebras de linha.
uunicodeTrata pares substitutos (emojis) como um único caractere e permite \p{…} escapes de propriedade.
ystickyCorresponde apenas em lastIndex — útil na criação de tokenizadores.

Grupos de captura, grupos nomeados e substituições

Os parênteses capturam o texto com o qual combinam. No (\d{4})-(\d{2}) o grupo 1 é o ano e o grupo 2, o mês. Grupos nomeados tornam os padrões autoexplicativos: (?<year>\d{4}) estão disponíveis como match.groups.year no código e como $<year> em uma string de substituição. Por exemplo, substituir (?<y>\d{4})-(?<m>\d{2})-(?<d>\d{2}) por $<d>/$<m>/$<y> transforma 2026-10-25 em 25/10/2026. Use (?:…) quando precisar agrupar sem capturar.

Retrocesso catastrófico

Padrões com quantificadores aninhados, como (a+)+$ ou (\w+\s?)*$ podem levar um tempo exponencial em entradas que quase correspondem — uma causa clássica de navegadores travados e vulnerabilidades ReDoS em servidores. Se um padrão demorar mais de 1,5 segundo aqui, ele é interrompido e sinalizado. Corrija isso tornando as alternativas mutuamente exclusivas, substituindo .* por uma classe negada, como [^"]*, ou ancorando o padrão.

Dicas para padrões confiáveis

  • Ancore os padrões de validação com ^…$, caso contrário, \d{5} também “valida” abc123456.
  • Faça escape de metacaracteres literais: \. \? \( \[ \$.
  • Prefira classes específicas em vez de .*; elas são mais rápidas e correspondem exatamente ao que você quer dizer.
  • Expressões regulares não são muito adequadas para formatos aninhados como HTML ou JSON — use um analisador (ou nosso Formator de JSON).
  • Quer comparar o texto antes e depois de uma substituição em massa? Cole os dois no Diff Checker.

Também pesquisado como: regex, regexp, verificador de expressões regulares, alternativa ao regex101, javascript regex, correspondência de expressão regular, substituição com expressão regular, guia rápido de regex.

Ferramentas que combinam com: Testador de Expressões Regulares

  • JavaScript Formatter — Unminify and pretty-print JavaScript, JSON or JSX with your preferred indentation and brace style — or strip whitespace and comments with a verified minifier.
  • URL Encode / Decode — Percent-encode text for safe use in URLs, decode encoded strings back to readable text, and break any URL down into its parts and query parameters.
  • Slug Generator — Convert any title into a clean, lowercase URL slug — with proper transliteration of accents, umlauts and Cyrillic, optional stop-word removal and a bulk mode for whole lists.
  • Remove Duplicate Lines — Paste a list to remove duplicate lines instantly.

Perguntas frequentes

Qual variante de expressão regular esse testador usa?
JavaScript (ECMAScript), executado pelo mecanismo nativo do seu navegador. A maior parte da sintaxe é comum ao PCRE, Python e Java, mas algumas características são diferentes: o JavaScript não tem quantificadores possessivos, grupos atômicos (até recentemente), \A/\Z âncoras ou modificadores inline como (?i).
Por que meu padrão só encontra uma correspondência?
Sem o g flag (global), o JavaScript para na primeira correspondência. Ative g para encontrar todas — o testador também te avisa quando estiver desativado.
Como faço para comparar em várias linhas?
Use o m flag para que ^ e $ trabalhar por linha, e a s flag (ou [\s\S]) se . também deve corresponder aos caracteres de nova linha.
Meu texto de teste fica salvo ou é enviado?
Não. A correspondência acontece no seu navegador. Só o padrão e os indicadores são incluídos na URL da página para que você possa compartilhar um link; o texto de teste nunca é colocado na URL nem enviado para lugar nenhum.
Qual é uma boa expressão regular para validar endereços de e-mail?
Uma opção prática é ^[^\s@]+@[^\s@]+\.[^\s@]+$ (ou a predefinição “Endereço de e-mail”). Os padrões totalmente compatíveis com a RFC 5322 são enormes e ainda assim não dão pra saber se a caixa de correio existe — manda um e-mail de confirmação pra checar isso.
Por que meu padrão foi interrompido?
Isso demorou mais de 1,5 segundo, o que quase sempre significa um retrocesso catastrófico causado por quantificadores aninhados ou sobrepostos. Torna as partes quantificadas mais específicas para que o mecanismo tenha menos maneiras de testar o mesmo texto.
Posso instalar o Testador de Expressões Regulares como um aplicativo da web e usá-lo offline?
Sim. O Testador de Expressões Regulares é um aplicativo da web instalável (PWA) — instalado a partir do seu navegador, não baixado de uma loja de aplicativos. Clique em “Instalar aplicativo” na parte superior desta página no Chrome ou no Edge (Windows, macOS, Linux, ChromeOS) ou, no Android, use “Compartilhar” → “Adicionar à tela inicial” no iPhone e no iPad, ou “Arquivo” → “Adicionar ao Dock” no Safari 17+ em um Mac. Em seguida, ela se abre em uma janela própria com seu próprio ícone e, como é executada inteiramente no seu navegador, continua funcionando offline. O Firefox no desktop não permite a instalação de aplicativos da web. Como funciona a instalação.

Ferramentas relacionadas