Testador Regex, Explicador e Gerador

Teste, explique em linguagem simples e gere expressões regulares a partir de exemplos sem latência. Inclui escudo anti-ReDoS, grupos de captura e testes.

Ferramentas Online
ESTÚDIO DE SINTAXE MODERNA • AST E ESCUDO ANTI-REDOS
100% no Navegador • Latência Zero e Privacidade Total
Blocos Visuais em 1 CliqueCarregue padrões verificados com grupos de captura e testes unitários instantaneamente:
//gm
/^([A-Z]{3})-(\d{4})-([A-Z0-9]{1,4})$/gm
Destaque Bidirecional Ativo
Bandeiras (Flags)
Global (g) • Multilinha (m)
Correspondências4
Grupos Ativos3
Tempo de Execução0.10 ms
Estado do EscudoAST Válido • Seguro Anti-ReDoS

Explicador Visual em Linguagem Simples

Passe o cursor sobre qualquer pílula visual abaixo para destacar esse segmento exato na barra regex E os caracteres correspondentes no texto.

^Âncora
Início do texto / da linha
([A-Z]{3})#1 Grupo Captura
Grupo de Captura #1: Exatamente 3 letras maiúsculas (A-Z)
-Literal
Caractere exato "-"
(\d{4})#2 Grupo Captura
Grupo de Captura #2: Exatamente 4 dígitos (0-9)
-Literal
Caractere exato "-"
([A-Z0-9]{1,4})#3 Grupo Captura
Grupo de Captura #3: Um único caractere do conjunto: A-Z0-9 — Repete de 1 a 4 vezes
$Âncora
Fim do texto / da linha
Correspondência Total ($&)Grupo $1 (Violeta)Grupo $2 (Ciano)Grupo $3 (Âmbar)
Passe o cursor sobre qualquer correspondência no texto para inspecionar o índice exato e os grupos capturados.

Edite o texto abaixo. As correspondências completas brilham em Esmeralda; os Grupos 1, 2 e 3 em Violeta, Ciano e Âmbar.

Destaque de Correspondência Total ($&) e Grupos de Captura
INV-2026-0042 ORD-8841-X SKU-9948-A1 ERR_CONNECTION_TIMEOUT LOG-2025-0099
Resultado Transformado em Tempo Real
[INV] #2026/0042
[ORD] #8841/X
[SKU] #9948/A1
ERR_CONNECTION_TIMEOUT
[LOG] #2025/0099

Inspetor de Correspondências e Grupos de Captura(4)

#1 "INV-2026-0042"Índice: 0–13
$1: INV$2: 2026$3: 0042
#2 "ORD-8841-X"Índice: 14–24
$1: ORD$2: 8841$3: X
#3 "SKU-9948-A1"Índice: 25–36
$1: SKU$2: 9948$3: A1
#4 "LOG-2025-0099"Índice: 60–73
$1: LOG$2: 2025$3: 0099

Como Usar o Testador Regex, Explicador e Gerador de Padrões

Domine a síntese por exemplos, a depuração visual AST e os testes unitários em 6 passos:

01

Digite um Regex ou Escolha um Bloco Visual

Escreva a sua expressão regular no topo ou clique num Bloco Visual em 1 Clique (ID Alfanumérico, E-mail, URL, IPv4, Data YYYY-MM-DD, Cor Hex, Senha Forte).

02

Inspecione as Pílulas em Linguagem Simples

Passe o cursor sobre qualquer pílula colorida abaixo da barra para ler a explicação em português e destacar simultaneamente o segmento regex e o texto capturado.

03

Analise o Destaque Multicamada

Na Área de Texto Livre, verifique as correspondências completas em Esmeralda e os grupos de captura $1 (Violeta), $2 (Ciano) e $3 (Âmbar) com os respetivos índices exatos.

04

Sintetize Padrões a partir de Exemplos

Abra «Gerar a partir de Exemplos», cole de 2 a 5 códigos como ORD-8841-X e escolha entre Estrutura Exata, Comprimento Flexível ou Extrator de Parágrafos.

05

Execute a Suíte de Testes Multi-String

Mude para a aba «Suíte de Testes Multi-String» para validar casos positivos e negativos simultaneamente visualizando cada grupo extraído em colunas dinâmicas.

06

Formate com $1–$3 e Exporte o Código

Use o painel «Substituir / Formatar» para transformar dados ao vivo e exporte o código pronto para JS/TS, Python, PHP, Go ou C#.

Perguntas Frequentes sobre Expressões Regulares

Dicas práticas sobre acentuação e cedilha, valores com vírgula decimal, âncoras multilinha e segurança:

P:Como garantir que a expressão regular reconheça palavras com til (ã, õ), cedilha (ç) e acentos sem as cortar a meio?

O atalho clássico \w reconhece apenas letras ASCII sem acento, dígitos e o sublinhado ([A-Za-z0-9_]). Se usar \w+ num texto em português, palavras com ç ou ã serão divididas em duas. Para capturar palavras completas com segurança, utilize um intervalo explícito como [a-zA-ZÀ-ÿ]+ (ou [a-zA-Záàâãéêíóôõúç]+ com a bandeira i) ou ative a bandeira Unicode (u) juntamente com \p{L}+.

P:De que forma as pílulas visuais ajudam a encontrar erros num padrão longo ou herdado de outro projeto?

Ler uma sequência densa de parênteses e barras invertidas diretamente na caixa de texto facilita erros de interpretação. O explicador divide a expressão em pílulas coloridas com tradução imediata (por exemplo, apresentando \d+ como «Um ou mais dígitos (0-9)») e, ao passar o cursor sobre cada pílula, destaca em simultâneo o trecho do padrão e os caracteres capturados no texto.

P:Como validar valores numéricos e monetários com ponto de milhar e vírgula decimal (ex. 1.890,50)?

Um erro muito comum é escrever o ponto diretamente sem barra invertida, esquecendo que o ponto (.) aceita qualquer caractere. Para exigir exatamente o ponto como separador de milhar e dois dígitos após a vírgula, escape o ponto com \. e agrupe os milhares: ^\d{1,3}(?:\.\d{3})*,\d{2}$. Assim, 1.890,50 é validado corretamente e 1X890,50 é rejeitado.

P:Para que servem as âncoras ^ e $ combinadas com a bandeira Multilinha (m) ao analisar ficheiros de registo?

Sem a bandeira Multilinha (m), ^ e $ apontam apenas para o início absoluto e o fim absoluto de todo o bloco de texto. Ao ativar a bandeira m, ^ e $ passam a validar o início e o fim de cada linha individual, permitindo filtrar centenas de linhas de registos técnicos ou faturas de uma só vez.

P:Como usar a Suíte de Testes Multi-String para evitar que uma alteração futura estrague validações existentes?

Quando ajusta uma expressão regular para aceitar um novo formato de código, é fácil torná-la demasiado permissiva sem reparar. Na Suíte Multi-String pode manter uma lista fixa de casos válidos («Deve Corresponder») ao lado de entradas inválidas como 2026-13-01 ou ERR_CONNECTION_TIMEOUT («NÃO Deve Corresponder») e confirmar instantaneamente que 100% dos testes continuam aprovados.

P:Como funciona a proteção de 150 ms contra bloqueios por Backtracking Catastrófico (ReDoS) no navegador?

Quantificadores repetitivos aninhados, como (a+)+ ou (\w+)*, podem gerar um crescimento exponencial (2^n) de tentativas quando encontram uma linha que falha apenas no último caractere. O nosso escudo deteta esse padrão de imediato e interrompe qualquer execução que ultrapasse 150 ms, processando todos os seus dados 100% localmente no navegador.

Complexidade Backtracking NFA vs. Limite Linear
TReDoS (n) = O(2n) vs. Tseguro (n) = O(n · |Σ|) ≤ 150 ms
Taxa de Aprovação da Suíte Multi-String
Psuite =
Mpos + Rneg Ntotal
· 100%
Dedução de Intervalos do Sintetizador
Qseg (k) = Ck{min(|si,k|), max(|si,k|)}
  • TReDoS(n): Crescimento exponencial de passos causado por quantificadores aninhados como (a+)+ sobre comprimento n, travado pelo disjuntor de 150 ms.
  • Psuite: Percentagem de testes unitários aprovados combinando correspondências positivas (Mpos) e rejeições negativas (Rneg).
  • Qseg(k): Intervalo de quantificação deduzido para o segmento k com base no comprimento mínimo e máximo das amostras.

O que é Testador Regex, Explicador e Gerador?

Criar ou dar manutenção a uma expressão regular não precisa de ser um exercício de tentativa e erro. Basta um ponto sem barra invertida ou um parêntese fora do sítio para que uma regra de validação deixe passar dados incorretos. Este Testador Regex, Explicador em Linguagem Simples e Gerador de Padrões mostra exatamente o que cada parte da expressão faz em tempo real. Como toda a execução acontece 100% localmente no seu navegador, pode testar registos de servidores, códigos de faturação ou listas de inventário com total privacidade.

Quatro funcionalidades para construir e validar padrões com confiança

Em vez de tentar decifrar uma sequência densa como ^([A-Z]{3})-(\d{4})-([A-Z0-9]{1,4})$ apenas a olhar para o código, o estúdio combina quatro ferramentas práticas:

  • Pílulas visuais explicadas em português: Cada símbolo é separado num bloco colorido com tradução direta (por exemplo, \d+ aparece como «Um ou mais dígitos (0-9)»). Ao passar o cursor sobre uma pílula, vê destacado tanto esse trecho do padrão como os caracteres capturados no texto.
  • Gerador automático a partir de exemplos: Cole de 2 a 5 exemplos reais (como ORD-8841-X e ORD-1029-B) para deduzir a expressão ideal sem contar caracteres manualmente.
  • Suíte de testes positivos e negativos: Confirme numa única tabela que todas as entradas válidas são aprovadas (+) e que formatos inválidos como 2026-13-01 são rejeitados (–), com colunas automáticas para cada grupo ($1, $2).
  • Proteção de 150 ms contra bloqueios (Escudo Anti-ReDoS): Deteta quantificadores aninhados perigosos como (a+)+ e interrompe execuções lentas antes que bloqueiem o navegador.

Padrões Úteis para Acentuação, Valores com Vírgula e Versões de Software

Tipo de DadoPadrão Regex RecomendadoComo Funciona na PráticaExemplo de Captura
Palavras com til, cedilha e acentos[a-zA-ZÀ-ÿ]+Reconhece palavras completas em português que o atalho \w+ cortaria a meio.Operação, validação, código
Valores com ponto de milhar e vírgula^\d{1,3}(?:\.\d{3})*,\d{2}$Escapa o ponto (\.) para exigir separadores de milhar reais e dois dígitos decimais.1.890,50 / 45,00 / 25.300,99
Etiqueta de versão (SemVer)^v(\d+)\.(\d+)\.(\d+)(?:-([a-z0-9.]+))?$Separa versão principal ($1), secundária ($2), correção ($3) e sufixo opcional ($4).v2.4.1-rc.1 → $1=2, $2=4, $4=rc.1
Data no formato DD/MM/AAAA(?<dia>0[1-9]|[12]\d|3[01])\/(?<mes>0[1-9]|1[0-2])\/(?<ano>\d{4})Captura dia, mês e ano por nome para facilitar a conversão para o formato ISO.02/11/2026 → $<ano>-$<mes>-$<dia>
Prefixos sem criar grupo extra^(?:FAT|ORD|SKU)-(\d{4,6})$Valida múltiplos prefixos com (?:...) guardando apenas o número em $1.ORD-8841 → $1 = "8841"

Exemplo Prático: Auditar Registos de Lançamento e Transações Financeiras

Imagine que precisa de extrair dados limpos de um registo de auditoria com linhas como [v2.4.1] Pedido: ORD-8841-X | Valor: 1.890,50 misturadas com alertas de falha como ERR_CONNECTION_TIMEOUT. Ao aplicar o padrão \[(v\d+\.\d+\.\d+)\]\s*Pedido:\s*(ORD-\d{4}-[A-Z])\s*\|\s*Valor:\s*(\d{1,3}(?:\.\d{3})*,\d{2}), o estúdio destaca de imediato a versão em Violeta ($1), o código do pedido em Ciano ($2) e o valor em Âmbar ($3). Em seguida, basta abrir a aba Substituir / Formatar e escrever $2 | $3 ($1) para gerar um relatório padronizado e exportar o código pronto para TypeScript, Python, Go ou C#.

História e Origem

Muito antes de existirem os ambientes de desenvolvimento modernos, as expressões regulares surgiram na década de 1950 como uma notação matemática para estudar autómatos de estados finitos e linguagens formais. O objetivo inicial era descrever de forma exata como circuitos lógicos elementares reconheciam padrões sequenciais.

A transição para a engenharia de software aconteceu quando os primeiros editores de texto e utilitários de linha de comandos precisaram de pesquisar padrões em ficheiros de código sem consumir muita memória. Ao compilar a expressão num autómato em tempo de execução, tornaram a pesquisa instantânea. Nas décadas seguintes, o padrão POSIX e as bibliotecas PCRE acrescentaram grupos de captura, lookarounds e suporte completo a Unicode, consolidando as expressões regulares como uma ferramenta indispensável em qualquer linguagem de programação.