O que faz
O testador de regex permite escrever uma expressão regular e ver, enquanto digita, exatamente o que ela encontra no seu texto de exemplo. As correspondências são destacadas no próprio texto, cada grupo de captura é listado com seu valor e posição, e um modelo de substituição opcional mostra o que String.replace produziria.
Como usar
- Cole o texto que você quer pesquisar em Texto de teste ou clique em Exemplo.
- Digite o padrão em Expressão regular no painel de opções. Não adicione as barras ao redor.
- Ative as flags de que precisar: g para todas as correspondências, i para ignorar maiúsculas e minúsculas, m para
^e$por linha, s para que.também case com quebras de linha, u para Unicode completo. - Leia o resultado: o número de correspondências, o texto destacado e uma tabela com cada correspondência e seus grupos. Clique em Copiar para copiar qualquer valor.
- Para testar uma substituição, preencha Substituir por, por exemplo
$2, $1.
Exemplo
O padrão predefinido ([\w.+-]+)@([\w-]+(?:\.[\w-]+)+) encontra endereços de e-mail e captura o nome de usuário e o domínio separadamente. Com a substituição $1 at $2, o texto hello@example.com vira hello at example.com.
Referência rápida
\ddígito,\wcaractere de palavra,\sespaço em branco,.qualquer caractere*zero ou mais,+um ou mais,?opcional,{2,5}entre 2 e 5[abc]um destes,[^abc]nenhum destes,a|bum ou outro(...)grupo de captura,(?<name>...)grupo nomeado,(?:...)grupo sem captura(?=...)lookahead,(?<=...)lookbehind,\blimite de palavra
Perguntas frequentes
› Qual variante de regex esta ferramenta usa?
O motor JavaScript (ECMAScript) embutido no seu navegador, o mesmo usado pelo Node.js, pelo Deno e por todos os navegadores. A maior parte da sintaxe é compartilhada com PCRE, Python e Java, mas alguns recursos, como quantificadores possessivos e recursão, não são suportados.
› Por que meu padrão encontra só uma correspondência?
Ative a flag Global (g). Sem ela, o JavaScript para depois da primeira correspondência.
› Como me refiro aos grupos na substituição?
Use $1, $2… para grupos numerados, $<name> para grupos nomeados, $& para a correspondência inteira e $$ para um cifrão literal.
› Por que ^ e $ não casam em todas as linhas?
Por padrão, eles casam apenas no início e no fim do texto inteiro. Ative Multilinha (m) para que casem nas quebras de linha.
› Meu texto é enviado para algum lugar?
Não. A busca roda no seu navegador. Padrões muito lentos (backtracking catastrófico) podem travar a aba, então evite quantificadores aninhados como (a+)+ em entradas longas.