Utils365

Testador de expressões regulares

Escreva uma expressão regular e veja o que ela encontra, enquanto digita.

Digite o padrão sem as barras, ou cole um /padrão/flags inteiro.

Cole o texto, abra um arquivo ou solte um aqui

Colinha
\d
Um dígito, 0–9
\w
Uma letra, dígito ou sublinhado
\s
Um espaço, tab ou quebra de linha
.
Qualquer caractere, exceto quebra de linha
^
Início do texto (ou da linha, com m)
$
Fim do texto (ou da linha, com m)
*
O item anterior, 0 ou mais vezes
+
O item anterior, 1 ou mais vezes
?
O item anterior, opcional
{n,m}
O item anterior, entre n e m vezes
[abc]
Qualquer um entre a, b ou c
(…)
Um grupo, capturado como $1, $2, …
(?<name>…)
Um grupo nomeado, capturado como $<name>
a|b
O lado esquerdo ou o lado direito

Próximo: Comparador de textos · Formatador de JSON

Relatar um problema com esta ferramenta

Como usar Testador de regex

  1. Digite seu padrão

    Digite a expressão regular sem as barras, ou cole um /padrão/flags inteiro, e marque as flags de que precisa.

  2. Adicione um texto de teste

    Cole texto ou abra um arquivo. Cada correspondência é destacada, com a posição e os grupos listados abaixo.

  3. Substitua ou copie

    Marque Substituir para testar uma substituição com $1 ou $<name>, e depois copie o resultado ou a própria regex.

Por que usar o Utils365

  • Grupos num relance

    Cada correspondência mostra seus grupos numerados e nomeados, para você conferir o que $1 ou $<year> vai conter.

  • Protegido contra padrões descontrolados

    A busca roda em segundo plano com limite de um segundo, então um padrão que faz backtracking sem fim não trava a página.

  • O mesmo motor do seu código

    Usa o motor de regex JavaScript do seu navegador, então os resultados batem com o que o Node.js e o navegador vão fazer.

  • Privacidade garantida

    Seu padrão e seu texto ficam no seu navegador. Nada é enviado, então dá para testar com arquivos de log e dados de clientes.

Perguntas frequentes

Qual sabor de regex é usado?

JavaScript (ECMAScript), o mesmo dos navegadores e do Node.js. A maioria dos padrões funciona igual em outras linguagens, mas lookbehind, grupos nomeados e alguns escapes mudam em motores mais antigos.

O que fazem as flags g, i, m, s, u e y?

g encontra todas as correspondências, i ignora maiúsculas e minúsculas, m faz ^ e $ valerem em cada linha, s deixa . pegar quebras de linha, u ativa o suporte completo a Unicode e y faz cada correspondência começar onde a anterior terminou.

Como uso um grupo de captura na substituição?

Escreva $1, $2 e assim por diante para grupos numerados, $<name> para grupos nomeados e $& para a correspondência inteira. Para inserir um cifrão de verdade, escreva $$.

Por que diz que meu padrão demorou demais?

Alguns padrões, como (a+)+ contra uma string longa, tentam um número enorme de combinações antes de desistir. Isso se chama backtracking catastrófico. Deixe as repetições aninhadas mais específicas para resolver.

Por que só vejo uma correspondência?

Sem a flag g, uma expressão regular para na primeira correspondência. Marque Global (g) para encontrar todas.

Como encontro um ponto ou colchete literal?

Coloque uma barra invertida antes: \. encontra um ponto e \[ encontra um colchete. O mesmo vale para outros caracteres especiais como * + ? ( ) { } | ^ e $.