MikroBI Robot Logo

MikroBI | DevKit

manage_search

Testador de Regex

Teste expressões regulares em um texto de exemplo real e veja cada match destacado, tudo no seu navegador.

Ferramentas relacionadas

Sobre esta ferramenta

Expressões regulares se pagam na primeira vez em que você realmente precisa de uma: validar o formato de um e-mail, CPF ou telefone, puxar o número de versão de uma linha de log, achar todas as ocorrências de uma variável antes de renomeá-la ou limpar dados colados de algum lugar com formatação inconsistente. Só que a sintaxe é densa e fácil de errar em detalhes, e é justamente por isso que vale gastar um minuto testando o padrão em um texto de exemplo real antes de ele ir parar no código de produção ou em um script que vai rodar em uma base inteira.

Esta ferramenta aplica o seu padrão ao texto de teste em tempo real, enquanto você digita, e mostra todos os matches de uma vez, sem deixar nada para adivinhação. Os matches ficam destacados direto no texto, então dá para ver na hora se o padrão está guloso onde não deveria, se esqueceu algum caso de borda ou se está pegando mais (ou menos) do que você queria. Cada match também aparece listado abaixo, com a posição exata e os grupos de captura que gerou.

Os três botões de flag mudam o comportamento do motor de regex do JavaScript: ignorar maiúsculas/minúsculas (`i`) faz `A` e `a` serem equivalentes; multilinha (`m`) faz `^` e `$` casarem com o início e o fim de cada linha, não só do texto inteiro; e ponto inclui quebra de linha (`s`) faz o `.` casar também com quebras de linha, o que não acontece por padrão. A busca é sempre global na prática — todas as ocorrências são encontradas, não só a primeira —, já que é isso que você quer quase sempre ao testar um padrão, mesmo sem pensar na flag `g`.

Grupos de captura — as partes do padrão entre parênteses — servem para extrair pedaços específicos de um match, e não só confirmar que o texto todo casou. É exatamente o que você precisa para tirar uma data, um nome de usuário ou um parâmetro de query de uma string maior. A ferramenta mostra os grupos capturados de cada match ao lado do match completo, para você confirmar que o agrupamento faz o que você espera antes de colocar no código de extração.

Tudo roda no motor `RegExp` nativo do navegador, que segue o padrão ECMAScript — o mesmo que o seu código JavaScript vai usar de verdade. Nada do que você digita é enviado para lugar nenhum, e a ferramenta continua funcionando sem internet depois que a página carrega. Quando os matches estiverem do jeito que você quer, use o botão “Enviar para” para passá-los direto a outra ferramenta do kit, como um formatador ou um contador de caracteres.

Perguntas frequentes

Por que a ferramenta sempre busca globalmente, mesmo sem marcar a flag “g”? expand_more

Quando você está testando um padrão, quase sempre quer ver todos os matches do texto, não só o primeiro — então a ferramenta sempre percorre o texto inteiro. As opções i, m e s continuam mudando o comportamento exatamente como mudariam no seu código.

Qual a diferença entre as flags multilinha (m) e ponto inclui quebra de linha (s)? expand_more

A multilinha (m) muda onde ^ e $ ancoram — no início/fim de cada linha em vez do texto inteiro. A flag s muda o que o . pode casar — normalmente ele casa com qualquer caractere menos quebra de linha, e com s passa a casar com quebras de linha também. Elas são independentes e vivem sendo confundidas.

Por que meu padrão aparece como inválido? expand_more

A ferramenta cria um RegExp de JavaScript de verdade com o seu padrão e as flags, então mostra exatamente o mesmo erro de sintaxe que o seu código teria — normalmente um grupo não fechado, um caractere especial sem escape ou uma combinação de flags inválida.

A ferramenta suporta grupos de captura nomeados? expand_more

Sim. Grupos de captura nomeados — por exemplo, chamar um grupo de “ano” em vez de deixá-lo só pela posição — são reconhecidos, e os valores aparecem junto com os grupos posicionais.

Meu texto de teste é enviado para algum lugar? expand_more

Não. O matching roda inteiramente no seu navegador, usando o motor de expressões regulares embutido — nada é enviado a um servidor, e a ferramenta continua funcionando offline depois que a página carrega.