Testador de Expressões Regulares
FreeTeste 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
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
- Depurar por que uma expressão regular no seu código JavaScript real não está correspondendo ao que você espera, usando exatamente o mesmo motor.
- Pré-visualizar uma operação de buscar e substituir antes de executá-la em dados reais.
- Entender a qual parte de um padrão cada grupo de captura corresponde, vendo o texto capturado de cada grupo ao mesmo tempo.
- Aprender sinalizadores de regex na prática, ativando e desativando e observando como a lista de correspondências muda imediatamente.
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
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.
FreeTexto
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.
FreeTexto
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.
FreeTexto
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.
FreeTexto
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.
FreeTexto
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.
FreeTexto
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.
FreeTexto
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.
Comentários (0)
Achou esta ferramenta útil? Deixe um comentário, compartilhe uma dica ou nos diga como podemos melhorá-la.
Ainda sem comentários. Seja o primeiro a compartilhar sua opinião!