A agência Orqeo ↗

Programadores

Testador de regex

As suas expressões regulares testadas em direto — correspondências realçadas, grupos detalhados.

Escrever uma expressão regular à primeira, sem a testar, é uma aposta. Este testador dá-lhe retorno imediato: introduza o padrão, as flags e um texto de amostra — cada correspondência é realçada enquanto escreve, e os grupos capturados são listados um a um com o respetivo conteúdo. Um parêntesis por fechar ou um quantificador inválido? O erro de sintaxe aparece com clareza em vez de falhar em silêncio. O motor é o do seu próprio navegador, ou seja, a sintaxe JavaScript padrão: o que validar aqui funcionará tal e qual no seu código front-end ou Node.js. Grátis, sem registo, e os seus dados de teste nunca saem da sua máquina — cole amostras reais com confiança.

Como funciona?

  1. Introduza o padrão da expressão regular e as suas flags (g, i, m…).
  2. Cole uma amostra representativa na área de texto de teste.
  3. Veja as correspondências acenderem-se e os grupos de captura serem listados.
  4. Afine o padrão até funcionar e copie-o para o seu código.

Perguntas frequentes

Porque é que a minha regex não encontra nada?

Verifique primeiro os clássicos: um caráter especial não escapado (o ponto corresponde a tudo, «\.» corresponde a um ponto literal), uma flag em falta (sem «i», as maiúsculas contam; sem «m», ^ e $ só valem para o texto inteiro), ou um padrão demasiado guloso — «.*» engole muitas vezes mais do que o previsto; prefira «.*?» ou uma classe de carateres negada.

Para que servem as flags g, i e m?

«g» (global) encontra todas as correspondências em vez de parar na primeira; «i» ignora maiúsculas e minúsculas; «m» (multiline) faz com que ^ e $ correspondam ao início e ao fim de cada linha, e não do texto inteiro. Há outras: «s» permite que o ponto corresponda a quebras de linha, «u» ativa o tratamento Unicode completo.

Como extrair uma parte específica da correspondência?

Com grupos de captura: envolva a parte pretendida em parêntesis e ela aparece aqui na lista de grupos. Os grupos nomeados «(?<nome>…)» tornam o código mais legível; os grupos não capturantes «(?:…)» permitem agrupar sem capturar, mantendo o resultado limpo.

A minha regex também funcionará em PHP ou Python?

O essencial da sintaxe é comum, mas cada motor tem as suas variantes: o suporte de lookbehind e as classes Unicode diferem, o PHP (PCRE) exige delimitadores, o Python usa re.MULTILINE em vez de flags inline. Este testador valida a sintaxe JavaScript — volte a testar na linguagem de destino se depender de funcionalidades avançadas.

Ferramentas relacionadas