Digite uma string de teste para ver as correspondências destacadas.
Nenhuma correspondência.
Critique esta regex quanto a backtracking catastrófico e compatibilidade com RE2 e proponha uma versão mais restritiva com as compensações: `//gi` Correspondências encontradas: (none)
O que faz
Testa uma expressão regular JavaScript contra qualquer texto, ao vivo enquanto você digita. Digite um padrão, alterne qualquer uma das seis flags (g global, i ignorar maiúsculas, m multiline, s dotAll, u unicode, y sticky), e a ferramenta lista cada correspondência com o seu índice e grupos de captura, destaca todos os acertos na string de teste e mostra o literal /pattern/flags construído, pronto para copiar.
Ela usa o RegExp nativo do seu engine - as mesmas semânticas que o seu código terá - e reporta padrões inválidos com a própria mensagem de erro do engine (por exemplo, missing terminating ] for character class) em vez de uma falha genérica. A correspondência é limitada a 2000 acertos, e correspondências de largura zero são detectadas e exibidas como marcadores finos, em vez de travar o laço. 100% no navegador.
Como usar
- Clique num preset da barra - Email, URL, Date, Hex color ou Capture - para carregar um padrão pronto, o conjunto de flags e um texto de exemplo. Cada preset define as seis flags explicitamente, então trocar de preset nunca deixa uma flag antiga ativada.
- Digite o seu padrão no campo Pattern (mostrado entre delimitadores
/, com as flags ativas anexadas ao vivo). Clique em Copy no cabeçalho da seção para copiar o literal/pattern/flagscompleto. - Alterne qualquer uma das seis Flags; cada seletor mostra o nome e uma dica de uma linha (por exemplo,
sdotAll - “. also matches newlines”). Os padrões sãog+i. - Digite ou cole texto em Test string - o rótulo da linha mostra a contagem de acertos ao vivo.
- Acompanhe a Match preview: cada acerto fica contornado; correspondências de comprimento zero aparecem como uma barra fina para você ver onde caem.
- Leia Matches: um cartão por correspondência com
#n @ index, o texto casado e cada grupo de captura ([1],[2], …) com(undefined)para os grupos que não participaram. - Clique em Clear (na barra) para redefinir padrão, flags e string de teste num toque só.
- Abaixo da saída, a barra de prompts copia um prompt de IA pré-preenchido construído a partir dos seus valores ao vivo - Critique & improve (verifica o padrão quanto a backtracking catastrófico) ou Generate Python tests (escreve testes unitários de
rea partir das correspondências atuais).
Exemplos
Verificado executando o laço de correspondência exato da ferramenta (a mesma construção de RegExp e o mesmo caminho de exec da island) nos presets embutidos:
Preset Email /[\w.+-]+@[\w-]+\.[\w.]+/gi em Contact ada@example.com or bob@test.co.uk today.
1. "ada@example.com" @ 8
2. "bob@test.co.uk" @ 27
Preset Capture /(\w+)@(\w+)/g em ada@example bob@test - grupos listados por correspondência:
1. "ada@example" @ 0 → [ada, example]
2. "bob@test" @ 12 → [bob, test]
Preset Hex color /#(?:[0-9a-f]{3}|[0-9a-f]{6})\b/gi em Brand #3b82f6, accent #38BDF8, short #fff.
1. "#3b82f6" @ 6
2. "#38BDF8" @ 22
3. "#fff" @ 37
Sem a flag g - apenas a primeira correspondência é reportada. Padrão /\d{4}-\d{2}-\d{2}/ em Shipped 2026-08-15, due 2026-09-01. → 1. "2026-08-15" @ 8 (com g, as duas datas casam: @ 8 e @ 24).
Padrão de largura zero /\b/g em ab → duas correspondências vazias em @ 0 e @ 2, renderizadas como marcadores finos na prévia.
Bom saber
- Privado: a correspondência roda inteiramente no seu navegador; nada do que você cola é enviado.
- O dialeto é o ECMAScript (
RegExp). Lookbehind, grupos nomeados e propriedades do modoufuncionam se o seu navegador suportar - a ferramenta não impõe nada por cima. - A flag
y(sticky) faz as correspondências começarem emlastIndex, então um padrão sticky frequentemente resulta em zero correspondências até o texto se alinhar - isso é a flag funcionando, não um bug. - String de teste vazia mostra uma dica em vez de uma prévia; um padrão inválido mantém o texto visível com o erro do engine logo abaixo.
- Ferramentas relacionadas: Regex Explainer, Find & Replace, Text Diff Viewer