Toolbox Hub
Todas as ferramentas

Regex Tester

Test regular expressions

Test regular expressions Executa localmente no seu navegador

About the

O Regex Tester executa uma expressão regular JavaScript em seu próprio texto de amostra e destaca cada correspondência conforme você digita, para que você possa observar um padrão ser bem-sucedido ou falhar, em vez de adivinhar. Ao lado dos destaques ele lista cada correspondência com sua posição inicial e seus grupos de captura, que é a parte que realmente informa se o grupo 2 é o valor que você queria ou uma string vazia. Três erros causam a maioria das regexes quebradas, e todos os três são visíveis aqui: um quantificador ganancioso engolindo silenciosamente mais texto do que o pretendido, um ponto sem escape que corresponde a qualquer coisa e um sinalizador global ausente que interrompe a pesquisa após o primeiro acerto.

Where people use the

  • Depurando um padrão de análise de log em um punhado de linhas de log reais.
  • Elabore uma regra de telefone ou código postal antes de conectá-la a um formulário.
  • Extrair números de pedidos ou IDs de um bloco de texto colado.
  • Aprender como os quantificadores se comportam alterando um caractere e observando o movimento dos destaques.

How to use the

  1. 1

    Cole o texto que deseja testar

    Use uma amostra real em vez de uma inventada. Os casos extremos em seus dados reais são os que quebram o padrão, portanto, inclua uma linha que também não deve corresponder.

  2. 2

    Escreva o padrão

    Insira a expressão sem as barras ao redor, por exemplo [a-z]+ em vez de /[a-z]+/. Os sinalizadores são alternadores separados.

  3. 3

    Ativar ou desativar sinalizadores

    g encontra todas as correspondências em vez de parar na primeira, i ignora maiúsculas e minúsculas, m faz as âncoras funcionarem por linha, s permite que um ponto espalhe novas linhas, u ativa o modo Unicode completo e y ancora correspondências para lastIndex.

  4. 4

    Leia a tabela de jogos

    Cada resultado mostra o texto correspondente, seu deslocamento de caracteres e cada grupo de captura. Um grupo vazio inesperado geralmente significa que um quantificador opcional não corresponde a nada.

  5. 5

    Copie o padrão finalizado

    Quando os destaques parecerem corretos, copie a expressão e cole-a em seu código, lembrando-se de carregar os sinalizadores também.

Dicas e práticas recomendadas

  • Teste uma regra por padrão. Uma regex que executa três tarefas é ilegível e impossível de depurar.
  • Inclua uma linha que não deve corresponder e confirme que ela permanece sem destaque.
  • Prefira grupos nomeados como ano, mês, dia aos numerados, para que o padrão ainda signifique algo quando você retornar a ele no próximo mês.

Perguntas frequentes

Qual sabor de regex isso usa?

JavaScript, através do mecanismo RegExp do próprio navegador. A sintaxe é próxima do PCRE e do módulo re do Python, mas não idêntica. Grupos nomeados, lookahead, lookbehind e propriedades Unicode escapam, todos funcionam nos navegadores atuais.

Por que meu padrão corresponde a muito mais texto do que eu esperava?

Porque os quantificadores são gananciosos por padrão. Algo como .* ou [0-9]+ consumirá o máximo que puder enquanto ainda permite que o restante do padrão corresponda. Adicione um ponto de interrogação para torná-lo preguiçoso, então .*? ou [0-9]+? pára na primeira oportunidade.

Por que só obtenho um resultado?

A bandeira global está desligada. Sem g, o motor retorna a primeira partida e para. Alterne g para coletar todas as correspondências na entrada.

Por que minha âncora não funciona na segunda linha?

Por padrão, as âncoras de circunflexo e dólar referem-se ao início e ao fim de toda a string, não a cada linha. Habilite o sinalizador m para torná-los conscientes da linha.

Meus dados de teste são enviados para algum lugar?

Não. A correspondência acontece no seu navegador com o objeto RegExp integrado. Nada é carregado, e é por isso que você pode colar linhas de log reais ou fragmentos de configuração com segurança.

Posso usar isso para validar a entrada em um formulário?

Você pode desenvolver o padrão aqui, mas sempre validar novamente no servidor. A regex do lado do cliente é uma conveniência para o usuário, nunca um controle de segurança, porque pode ser totalmente ignorada.

Ferramentas relacionadas