O Testador de Regex mostra, enquanto você digita, quais trechos de um texto combinam com a sua expressão regular. Uma peneira transparente faz o mesmo: você vê o que fica retido antes de despejar o saco inteiro. A tela explica cada parte da expressão e conta os matches e os grupos capturados. Esquecer a flag g é um clássico: sem ela, a busca para na primeira ocorrência e parece que o padrão falhou. Marque as flags certas e teste com exemplos reais antes de levar a regex para o formulário ou a planilha.
Como usar o Testador de Regex
Escreva a expressão no campo, onde as barras já aparecem fixas, ou parta de um modelo da biblioteca, com categorias de marketing, vendas e tecnologia. Marque as flags: g para todas as ocorrências, i para ignorar maiúsculas, m para várias linhas e s para o ponto aceitar quebra de linha. Cole o texto de teste; o Testador de Regex destaca cada match e detalha os grupos capturados.
A regex testada aqui é a do JavaScript
O Testador de Regex usa o motor de expressões regulares do próprio navegador, o do JavaScript. A sintaxe básica se repete em outras ferramentas, mas não toda. O filtro de regex do Google Search Console e as funções REGEX do Google Planilhas seguem a sintaxe RE2, que não aceita lookahead nem lookbehind, como (?=...) e (?<=...). Uma expressão que funciona aqui pode dar erro lá; se o destino for uma dessas ferramentas, monte o padrão sem esses recursos.
Os modelos conferem formato, não validade
A biblioteca tem 31 modelos, de e-mail e URL a CPF, CNPJ, CEP, cupom e UUID. O de CPF confere o desenho XXX.XXX.XXX-XX, então recusa um CPF digitado só com números e aceita um número inexistente, porque regex não calcula dígito verificador. O mesmo vale para CNPJ e cartão de crédito. Use a expressão para barrar erro de digitação e deixe a checagem de validade para o sistema que recebe o dado.
Como ler o painel de matches
Para cada ocorrência, o painel mostra o trecho encontrado, a posição inicial e final e o número de caracteres, além dos grupos capturados. Se a contagem de grupos passar do esperado, troque os parênteses que servem só para agrupar por (?:...), que agrupam sem capturar. Quando a expressão tem erro de sintaxe, a mensagem vem do próprio navegador, às vezes em inglês.
O guia de expressões regulares do MDN documenta a sintaxe que esta ferramenta aplica. Guarde junto da expressão dois ou três textos que devem passar e dois que devem falhar, para testar de novo sempre que alguém alterar o padrão.
Um exemplo prático
Para encontrar códigos como SKU-42 em uma lista, digite /SKU-(\d+)/g e cole SKU-42, SKU-7 e REF-9. O padrão encontra duas ocorrências, porque SKU- aparece duas vezes e \d+ exige uma ou mais casas numéricas. O grupo capturado contém 42 e 7; REF-9 fica fora. Sem a flag g, o resultado esperado seria uma ocorrência, não duas. Esse teste pequeno ajuda a separar o trecho completo do valor que você quer reaproveitar.
Erros comuns e limites
Um erro comum é usar . para representar qualquer caractere e esquecer que, em JavaScript, ele não corresponde a uma quebra de linha sem a flag s. Outro é escrever ^ e $ esperando validar um texto inteiro, mas testar uma linha no meio de um bloco sem conferir a flag m. Compare sempre uma entrada válida, uma inválida e uma que tenha texto antes ou depois do trecho.
O testador ajuda a construir e inspecionar o padrão; a regra do sistema que recebe o dado continua valendo. O padrão não conhece o contexto do campo e não garante que uma URL responda. Para dados sensíveis, prefira exemplos fictícios e apague o texto de teste antes de sair de um computador compartilhado. Quando o destino for uma ferramenta baseada em RE2, valide o padrão nela: a referência do projeto lista lookarounds e referências retroativas entre os recursos não suportados.
Antes de publicar a expressão
Copie a regex final, as flags e os casos de teste para a documentação do formulário, consulta ou planilha. Registre também o que deve ficar de fora. Assim, uma alteração como trocar + por * pode ser conferida no painel antes de entrar em produção: a primeira exige ao menos um caractere; a segunda também aceita zero.