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
RegExptestador, 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.