WMW

Testador de Expressões Regulares

Free

Teste uma expressão regular contra um texto usando o motor nativo de expressões regulares do JavaScript, com destaque de correspondências em tempo real, uma análise completa dos grupos de captura numerados e nomeados, e um modo de substituição opcional que pré-visualiza a saída de String.replace().

Funciona inteiramente no seu navegador usando o motor nativo de expressões regulares do JavaScript. Nada é enviado para lugar nenhum.

/ /

Correspondências destacadas

Correspondências

Atividade recente

Visível para todos. Últimos 20 usos de todos os visitantes, mais recentes primeiro.

Tested a pattern (50 chars, flags: g) -- 2 match(es)

há 2 horas

Tested a pattern (50 chars, flags: g) -- 2 match(es)

há 2 horas

Tested a pattern (50 chars, flags: g) -- 2 match(es)

há 2 horas

Tested a pattern (50 chars, flags: g) -- 2 match(es)

há 2 horas

Tested a pattern (50 chars, flags: (none)) -- 1 match(es)

há 2 horas

Tested a pattern (50 chars, flags: g) -- 2 match(es)

há 2 horas

Comentários (0)

Achou esta ferramenta útil? Deixe um comentário, compartilhe uma dica ou nos diga como podemos melhorá-la.

Comentários de convidados são revisados antes da publicação. Entrar para publicar instantaneamente.

Ainda sem comentários. Seja o primeiro a compartilhar sua opinião!

O que esta ferramenta faz

Esta ferramenta testa uma expressão regular contra um bloco de texto usando o motor nativo de expressões regulares do JavaScript do navegador. As correspondências são destacadas diretamente no texto, cada correspondência é decomposta em seus grupos de captura numerados e nomeados, e um modo de substituição opcional mostra exatamente o que String.replace() produziria com seu padrão e texto de substituição.

Como funciona

Seu padrão e os sinalizadores selecionados são compilados em um objeto RegExp real do JavaScript. Quando o sinalizador Global está ativado, a ferramenta chama exec() repetidamente no texto, avançando além de cada correspondência (e avançando um caractere além de correspondências vazias para evitar um loop infinito) até que nenhuma outra correspondência seja encontrada; sem Global, exec() é chamado uma vez. O destaque é construído percorrendo as correspondências em ordem e envolvendo cada substring correspondente em um marcador, sem tocar no texto ao redor. O modo de substituição chama o próprio método replace() do texto com seu padrão compilado e string de substituição, então o resultado é exatamente o que seu próprio código JavaScript produziria.

Problemas que resolve

Perguntas frequentes

›Qual dialeto de regex esta ferramenta usa?

Esta ferramenta executa seu padrão através do próprio motor RegExp nativo do JavaScript do navegador, então corresponde exatamente a como uma expressão regular se comportaria em código JavaScript real, no Node.js, ou em um validador de formulário do lado do navegador, não a um dialeto diferente como PCRE (PHP, Python com o módulo re tem suas próprias peculiaridades) ou regex .NET, que podem diferir no suporte a lookbehind, sintaxe de grupos nomeados e alguns outros detalhes.

›O que os sinalizadores g, i, m, s e u realmente mudam?

g (global) encontra todas as correspondências em vez de parar na primeira; i torna a correspondência sem distinção entre maiúsculas e minúsculas; m faz com que ^ e $ correspondam ao início e fim de cada linha em vez de apenas ao de toda a string; s (dotall) faz com que . também corresponda a quebras de linha, o que normalmente não faz; u ativa o modo Unicode completo, que afeta como as classes de caracteres e pares substitutos (caracteres fora do Plano Básico Multilíngue, como muitos emojis) são tratados.

›Por que alguns grupos de captura aparecem como ausentes mesmo que meu padrão tenha parênteses?

Um grupo de captura que faz parte de uma alternância (A|B) só captura quando aquele ramo da alternância realmente correspondeu, então um grupo do ramo que não foi usado é reportado como não participante, isso é um comportamento padrão de expressões regulares e não um bug em uma correspondência específica.

›Como o modo de substituição interpreta meu texto de substituição?

O modo de substituição usa a própria sintaxe de substituição String.replace() do JavaScript: $1, $2, e assim por diante inserem um grupo de captura numerado, $<name> insere um grupo nomeado, $& insere toda a correspondência, e $$ insere um sinal de dólar literal, exatamente como se comportaria em código JavaScript real.

›Meu padrão corresponde apenas uma vez mesmo esperando várias correspondências, por quê?

Verifique se o sinalizador Global (g) está ativado; sem ele, tanto a lista de correspondências quanto String.replace() agem apenas na primeira correspondência encontrada, o que é o comportamento padrão de expressões regulares em JavaScript, não uma limitação desta ferramenta.

Ferramentas relacionadas

Free

Texto

Gerador de Expressão Cron

Crie e analise expressões cron com um editor de campos ao vivo, descrição em linguagem simples e as próximas 5 execuções reais. Suporta predefinições, atalhos @ e a variante opcional de 6 campos com segundos.

Free

Texto

Ferramenta de Cifra de César

Criptografe ou descriptografe texto com a clássica cifra de César, com uma tabela de mapeamento A-Z, lista de força bruta, gráfico de frequência de letras, e um atalho ROT13.

Free

Texto

Gerador de Arte ASCII

Transforme texto digitado ou uma imagem enviada em arte ASCII. Escolha um estilo de fonte ou uma escala de caracteres, preserve a cor e exporte como texto simples ou PNG.

Free

Texto

Redator de Segredos/Config

Cole um arquivo .env ou de configuração e mascare automaticamente chaves de API, senhas e tokens ao lado de nomes de chave sensíveis ou formatos de segredos conhecidos (AWS, GitHub, Stripe, JWT, PEM). Depois seguro para colar em uma IA de chat ou relatório de bug.

Free

Texto

Gerador de Registro DMARC

Crie um registro DNS DMARC a partir de campos em linguagem simples, com predefinições de implementação em estágios e um indicador ao vivo do nível de aplicação.

Free

Texto

Conversor de Excel para Tabela HTML

Cole do Excel ou Google Sheets, ou envie um arquivo .xlsx/.xls/.csv, e obtenha uma tabela HTML limpa com pré-visualização ao vivo, estilo opcional e alinhamento de colunas numéricas.

Free

Texto

Gerador de Hash (MD5/SHA1/SHA256/SHA512)

Faça hash de texto ou arquivo para MD5, SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512, RIPEMD-160 e CRC32 de uma vez, com um campo de comparação contra um checksum conhecido.

Free

Texto

Gerador de htpasswd

Gere um arquivo .htpasswd real do Apache com bcrypt ou SHA, verificado byte a byte contra a ferramenta oficial de linha de comando htpasswd, com suporte para vários usuários de uma vez.