Testador de Regex

Teste expressões regulares JavaScript contra um texto de exemplo, inspecione grupos de captura e grupos nomeados e visualize a saída da substituição localmente no seu navegador.

Todos os testes de regex são executados localmente no seu navegador. O padrão atual, flags, substituição e o texto de exemplo são armazenados no hash da URL para compartilhamento por copiar/colar.
0 caracteres
Não inclua barras envolventes
Flagsg

Flags suportadas: global, ignore case, multiline, dotAll, unicode e sticky.

Opcional: use $1 ou $<name> grupos

Exemplos rápidos

Teste expressões regulares JavaScript com texto de exemplo

Use esta ferramenta quando precisar verificar o que uma expressão regular JavaScript corresponde antes de colocá-la no frontend, Node.js ou no código TypeScript.

Cole o texto de exemplo, insira o padrão sem as barras envolventes, escolha as flags e depois revise as correspondências, os grupos e a pré-visualização da substituição.

O que cada resultado significa

  • Correspondências realçadas mostra onde o padrão correspondeu dentro do texto de exemplo.
  • Correspondências e grupos lista intervalos de correspondência, grupos numerados e grupos nomeados.
  • Saída da substituição pré-visualiza JavaScript String.replace() com sua string de substituição.
  • Copiar JSON de correspondências copia os dados estruturados de correspondência. Copiar substituição copia o texto da pré-visualização da substituição.
  • Copiar URL copia o padrão atual, as flags, a substituição e o texto de exemplo no hash da URL.

Flags suportadas

Flag Name Effect
g Global Encontra todas as correspondências em vez de apenas a primeira.
i Ignorar maiúsculas/minúsculas Corresponder letras sem distinção entre maiúsculas e minúsculas.
m Multiline Make ^ and $ funcionam por linha.
s DotAll Let . corresponder quebras de linha.
u Unicode Usar regras de correspondência com suporte a Unicode.
y Sticky Corresponder apenas a partir do lastIndex atual do JavaScript lastIndex.

Limits

  • Isto é um JavaScript RegExp testador, não um testador de regex PCRE, Python, Java, SQL ou .NET.
  • O texto de exemplo e as correspondências coletadas têm limite para manter a página responsiva.
  • Alguns padrões óbvios com quantificadores aninhados são bloqueados, mas isto não é um analisador completo de ReDoS.
  • O JavaScript não fornece um timeout síncrono para uma execução de regex.
  • Hashes de URL podem incluir o texto de exemplo colado. Remova logs privados ou segredos antes de compartilhar uma URL copiada.

Perguntas Frequentes

Qual sintaxe de regex esta página utiliza?

Ele usa JavaScript RegExp sintaxe. Use-a para trabalho com regex em browsers, Node.js e TypeScript. Padrões escritos para PCRE, Python, Java, SQL ou .NET podem comportar-se de forma diferente.

Por que vejo apenas uma correspondência?

Adicione a g sinalizador para coletar todas as correspondências. Sem g, o JavaScript normalmente retorna a primeira correspondência.

Posso usar grupos nomeados em substituições?

Sim. Grupos nomeados como (?<level>ERROR|WARN) aparecem nos detalhes de correspondência e podem ser reutilizados no texto de substituição como $<level>.

Qual é a diferença entre Copiar JSON de correspondência e Copiar substituição?

Copiar JSON de correspondência copia intervalos e grupos de correspondência como JSON. Copiar substituição copia o texto produzido pela pré-visualização da substituição.

Isso pode detectar padrões de backtracking inseguro?

Apenas parcialmente. A ferramenta bloqueia alguns padrões óbvios com quantificadores aninhados e limita o tamanho da entrada, mas não é um analisador completo de ReDoS.