Como usar: Testador de Expressões Regulares
- 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. - Alterne opções como
g(todas as correspondências),i(ignorar maiúsculas e minúsculas) oum(várias linhas). - Cole seu texto em “Testo de teste” — cada correspondência é destacada à medida que você digita.
- 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.
- 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
| Sinalizador | Nome | Efeito |
|---|---|---|
g | global | Encontra todas as correspondências, em vez de parar na primeira. |
i | ignoreCase | /abc/i corresponde a “ABC”. |
m | multiline | ^ e $ encontra correspondências no início e no final de cada linha. |
s | dotAll | . também encontra quebras de linha. |
u | unicode | Trata pares substitutos (emojis) como um único caractere e permite \p{…} escapes de propriedade. |
y | sticky | Corresponde 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
- Formatador JavaScript — Desminifique e deixe legível JavaScript, JSON ou JSX com a indentação e o estilo de chaves que você preferir, ou remova espaços e comentários com um minificador verificado.
- Codificar / Decodificar URL — Codifique textos com percent-encoding para usar com segurança em URLs, decodifique strings codificadas de volta para texto legível e separe qualquer URL em suas partes e parâmetros de query.
- Gerador de Slug — Converta qualquer título em um slug de URL limpo e em minúsculas, com transliteração correta de acentos, umlauts e cirílico, remoção opcional de stop words e um modo em massa para listas inteiras.
- Remover Linhas Duplicadas — Cole uma lista para remover linhas duplicadas na hora.
Perguntas frequentes
Qual variante de expressão regular esse testador usa?
\A/\Z âncoras ou modificadores inline como (?i).Por que meu padrão só encontra uma correspondência?
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?
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?
Qual é uma boa expressão regular para validar endereços de e-mail?
^[^\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.