Testador de Regex: teste expressões regulares online
Com o Testador de Regex, você testa expressões regulares online usando o mecanismo JavaScript do seu navegador. As correspondências são destacadas e listadas com posição e grupos de captura. Por exemplo, \b([\w.-]+)@([\w-]+\.[a-zA-Z]{2,})\b encontra 2 endereços de e-mail em um texto de contatos, com nome e domínio. O padrão e o texto não saem do seu navegador.
Criado por Jakub Martyniak
Vai colocar esse padrão em operação? Execute seu aplicativo em um VPS com acesso root completo.
Entrada
Resultado
Insira um padrão à esquerda para ver os resultados.
Exemplo de resultado
Como é um resultado no testador de expressões regulares
Você informa um padrão e um texto, e a ferramenta lista cada ocorrência com posição e grupos de captura. No modo de substituição, ela mostra o texto após a troca. O exemplo abaixo usa endereços fictícios; as ocorrências dependem do seu padrão e texto.
Exemplo · Flag g (todas as ocorrências)
2 resultadosEntrada
- Padrão
- \b([\w.-]+)@([\w-]+\.[a-zA-Z]{2,})\b
- O grupo 1 captura a parte antes do @; o grupo 2, o domínio.
- Texto de teste
- info@example.com, support@example.org, no-at.example.net
Saída
- Correspondência 1
- info@example.com
- Índice 0 · Grupo 1: info · Grupo 2: example.com
- Correspondência 2
- support@example.org
- Índice 18 · Grupo 1: support · Grupo 2: example.org
- Substituir por $1 [at] $2
- info [at] example.com, support [at] example.org, no-at.example.net
- O endereço sem @ não é reconhecido e permanece inalterado.
Por que esta ferramenta
Mais do que um teste de correspondência
Conheça os principais recursos do Testador de Regex.
Correspondências destacadas e contadas
Após uma breve pausa na digitação, a ferramenta conta todas as correspondências e as destaca no resultado. Se houver muitas, destaca as primeiras 1000.
Monitoramento dos grupos de captura
Cada correspondência aparece em uma lista com seu índice e, abaixo, seus grupos de captura numerados e nomeados, apresentados separadamente.
Flags g, i, m, s e u
Ative ou desative as cinco flags pelas caixas de seleção. Elas têm o mesmo significado que no código JavaScript. A flag g fica ativa por padrão.
Modo de substituição
Substitui as correspondências com String.prototype.replace(), usando $1 e $2 para grupos de captura. Você copia o resultado com um clique.
Proteção contra retrocesso catastrófico
A avaliação é executada em um Web Worker e interrompida após 1 segundo para que um padrão como (a+)+ não trave a aba.
Funciona apenas no navegador
O padrão e o texto de teste são processados apenas no dispositivo — nada é enviado para um servidor.
Guia
Como testar expressões regulares online
Do padrão ao resultado copiado: veja como usar o Testador de Regex.
Passo 1
Selecionar modo
Selecione o modo “Encontrar correspondências” acima para verificá-las ou “Substituir” para substituir texto.
Passo 2
Digitar padrão
Digite sua expressão regular sem barras no campo “Padrão” ou use “Carregar exemplo” para carregar um padrão de e-mail com um texto de exemplo.
Passo 3
Configurar flags
Ative ou desative as flags g, i, m, s ou u pelas caixas de seleção. A flag g fica ativa por padrão, e as flags ativas aparecem após o padrão, por exemplo, /g.
Passo 4
Inserir texto de teste
Cole seu texto no campo “Texto de teste”. Após uma breve pausa na digitação, as correspondências serão destacadas no resultado e contadas acima.
Passo 5
Verificar e copiar correspondências
A lista mostra cada correspondência com seu índice e grupos de captura. Use o botão de copiar para copiar todas, uma por linha.
Passo 6
Substituir e copiar o resultado
No modo “Substituir”, digite o novo texto no campo “Substituir por”, usando $1 e $2 para grupos de captura, e copie o resultado pelo botão de copiar.
Resumo rápido
Guia rápido de regex: os principais elementos
Uma expressão regular (regex) é um padrão de busca em texto: com ela, você encontra, valida, extrai ou substitui sequências de caracteres, como endereços de e-mail, datas ou entradas de log. Você pode testar esses elementos da sintaxe JavaScript diretamente no Testador de Regex acima.
| Token | Significado |
|---|---|
| . | Qualquer caractere, exceto quebra de linha; com a flag s, inclui quebras de linha |
| \d | Um dígito de 0 a 9 |
| \w | Caractere de palavra: apenas A–Z, a–z, 0–9 e _, sem letras como ä, é ou ñ |
| \s | Espaço em branco, como espaço, tabulação ou quebra de linha |
| \p{L} | Qualquer letra, inclusive com diacríticos, apenas com a flag u |
| \b | Limite de palavra, por exemplo, \bRegex\b para encontrar exatamente essa palavra |
| ^ $ | Início e fim do texto; com a flag m, de cada linha |
| [abc] | Um dos caracteres a, b ou c |
| [^abc] | Qualquer caractere, exceto a, b e c |
| a|b | a ou b |
| * + ? | Zero ou mais, uma ou mais, zero ou uma ocorrência |
| {2,5} | De duas a cinco repetições |
| .*? | Um ? após o quantificador o torna não ganancioso (lazy): corresponde ao menor número possível de caracteres |
| ( … ) | Grupo de captura, listado como grupo 1, 2 etc. no Testador de Regex |
| (?<name> … ) | Grupo de captura nomeado, também listado pelo nome no Testador de Regex |
| (?: … ) | Grupo sem captura, por exemplo, para alternativas ou quantificadores |
| (?= … ) (?! … ) | Lookahead: somente se algo vier ou não vier em seguida |
| \. | Uma barra invertida antes de um caractere especial faz com que ele seja interpretado literalmente, por exemplo, \. para um ponto |
Descobrir mais
Mais ferramentas
Comparar textos online (Diff Checker)
Compare textos online: compare dois textos, configurações ou versões de código, veja as diferenças linha por linha e palavra por palavra e copie-as como Unified Diff. Funciona inteiramente no navegador.
Criado por Dimitri Heissler
Formatador de JSON
Formate, minifique e valide JSON com realce de sintaxe, indicação de erros e download, inteiramente no navegador.
Criado por Jakub Martyniak
Validador de YAML
Verifique a sintaxe YAML, formate-a de forma normalizada ou converta-a diretamente para JSON — suporta vários documentos separados por `---` (por exemplo, manifestos Kubernetes), com erros que indicam a linha e a coluna exatas, inteiramente no navegador.
Criado por Jakub Martyniak
Gerador de crontab
Crie expressões Cron com um formulário, explicações em alemão e uma pré-visualização das próximas execuções — tudo no navegador.
Criado por Jakub Martyniak
Codificador e decodificador de URL
Codifique e decodifique URLs e textos online: compare encodeURIComponent, encodeURI e o formato de formulários, com tabela de parâmetros de consulta e criador de links UTM. Funciona totalmente no navegador.
Criado por Dimitri Heissler
Gerador de .htaccess e gerador de htpasswd
Crie arquivos Apache .htaccess e .htpasswd online: redirecionamentos 301, HTTPS, proteção por senha com bcrypt, regras do WordPress, páginas de erro, cache, GZIP e proteção contra hotlinks. Funciona inteiramente no navegador.
Criado por Dimitri Heissler
FAQ
Perguntas frequentes sobre o Testador de Regex
Respostas breves sobre expressões regulares e esta ferramenta.
Uma lista de todas as correspondências com posição e grupos de captura. O padrão \b([\w.-]+)@([\w-]+\.[a-zA-Z]{2,})\b encontra 2 correspondências no texto “info@example.com, support@example.org, no-at.example.net”: info@example.com a partir do índice 0 e support@example.org a partir do índice 18, cada uma com nome e domínio nos grupos 1 e 2. No modo de substituição, $1 [at] $2 transforma o texto em “info [at] example.com, support [at] example.org, no-at.example.net”.
Sim. O Testador de Regex é gratuito e não exige uma conta: basta abrir a página, digitar o padrão e o texto de teste e verificar as correspondências.
Não. A avaliação ocorre no seu navegador, em um Web Worker que usa o próprio mecanismo RegExp do navegador. Nada é enviado nem registrado em logs. Isso é importante porque textos de teste frequentemente contêm linhas de log ou endereços de e-mail reais.
O mecanismo JavaScript nativo (ECMAScript) do seu navegador, com a mesma sintaxe de regex usada em JavaScript, TypeScript e Node.js. PCRE (PHP, Perl) e o módulo re do Python diferem em alguns detalhes: \K não existe em JavaScript, e grupos nomeados são escritos como (?<name>…), não (?P<name>…).
g (global) retorna todas as correspondências e fica ativa por padrão. Sem g, a ferramenta se comporta como RegExp.exec() e retorna no máximo uma correspondência. i ignora maiúsculas e minúsculas; m faz ^ e $ corresponderem ao início e ao fim de cada linha; s permite que o ponto corresponda também a quebras de linha; e u ativa o modo Unicode, necessário, por exemplo, para \p{L}.
Mude para o modo “Substituir” e digite o novo texto no campo “Substituir por”. Use $1, $2 etc. para inserir grupos de captura e $<name> para grupos nomeados. A ferramenta usa String.prototype.replace(): sem a flag g, apenas a primeira correspondência é substituída. Copie o resultado pelo botão de copiar.
Sim. Abaixo de cada correspondência aparecem seus grupos de captura: os numerados como 1, 2 etc. e os nomeados, como (?<jahr>\d{4}), também pelo nome. Se um grupo não capturar nada, aparecerá “(sem correspondência)”.
Se o padrão for inválido, por exemplo, por conter um parêntese não fechado, a ferramenta exibirá a mensagem de erro do mecanismo do navegador. Se a avaliação levar mais de 1 segundo, ela será interrompida: geralmente, isso indica que o padrão é suscetível a retrocesso catastrófico, como ocorre com quantificadores aninhados como (a+)+. Simplifique o padrão ou encurte o texto de teste.
A contagem de correspondências é sempre exata. No máximo, as primeiras 1000 são destacadas e as primeiras 200 são listadas, cada uma com índice e grupos de captura. Se houver mais de 200, um aviso aparecerá acima do texto destacado.
Mais alguma pergunta?
Contatar o suporteSua aplicação precisa de um servidor confiável
Um VPS da ZAP-Hosting mantém sua aplicação ou projeto online de forma confiável.
Sem configuração. Sem riscos. Online em segundos.
Procurando mais ferramentas? Ver todas as ferramentas para desenvolvedores
