Menu

Testador de Regex

Teste expressões regulares com destaque animado de correspondências.

Última atualização

Flags
Texto de testeCole texto para começar
CorrespondênciasSem correspondências
As correspondências aparecem aqui — índices, grupos capturados e contagens, ao vivo.

O que é um regex tester?

Um regex tester deixa você escrever uma expressão regular e ver na hora o que ela casa dentro de um texto de exemplo. Devs usam regex pra validar entradas, extrair dados de strings, vasculhar logs, limpar texto, montar comandos no editor e escrever regras de busca e substituição.

Regex parece coisa de outro mundo no começo porque uns poucos símbolos carregam muito significado. Um testador ao vivo desmistifica isso: cada caractere que você digita atualiza os matches destacados e os grupos de captura, então dá pra ir experimentando até o padrão fazer exatamente o que você quer.

Cada linguagem usa um motor de regex um pouco diferente (JavaScript, PCRE, Python, Java, Go, .NET). O essencial — caracteres, classes de caracteres, quantificadores, âncoras e grupos — funciona em qualquer lugar. As diferenças aparecem nos recursos avançados (lookbehind, grupos nomeados, quantificadores possessivos).

O que você vai aprender testando regex

  • Um padrão descreve o *formato* do texto, não o significado. \d+ casa uma sequência de dígitos, mas não sabe se aquele número faz sentido.
  • Flags mudam o comportamento: g acha todos os matches, i ignora maiúsculas/minúsculas, m faz ^ e $ casarem nos finais de linha, s permite que . case quebras de linha.
  • Grupos de captura (...) extraem partes do match — não só verificam se a string inteira bate. São essenciais pra parsing.

Como usar o regex tester passo a passo

  1. Digite seu padrão

    Coloque a expressão regular no campo do padrão. Não inclua as / em volta — isso é sintaxe de literal do JavaScript, não faz parte do padrão em si.

  2. Marque as flags que você precisa

    Na maioria das vezes você vai querer g (acha todos os matches) e i (ignora caixa). Use m pra âncoras linha a linha e s pra deixar . casar quebras de linha.

  3. Cole seu texto de teste

    Jogue uma amostra de texto na área de teste. Os matches são destacados conforme você digita, e os grupos de captura aparecem listados embaixo da lista de matches.

  4. Leia o painel de matches

    Cada match mostra a posição, o texto completo e os grupos capturados. Use isso pra confirmar que o padrão pega o que você quer e ignora o que não quer.

  5. Refine até ficar certo

    Aperte os quantificadores, adicione âncoras (^, $) ou escape caracteres literais (\., \?) até os matches e grupos baterem exatamente com o que seu código precisa.

Cheat sheet de regex

Os 80% de regex que você vai usar 99% do tempo. Salva nos favoritos — é o jeito mais rápido de lembrar a sintaxe. Pra gramática completa, dá uma olhada no guia de expressões regulares da MDN.

TokenSignificadoExemplo
.Qualquer caractere (menos quebra de linha)a.c casa abc, a-c
\d \DDígito / não-dígito\d+ casa 123
\w \WCaractere de palavra (letra/dígito/_) / não-palavra\w+ casa hello_1
\s \SEspaço em branco / não-espaço\s+ casa espaços e tabs
[abc]Qualquer um entre a, b ou c[aeiou] casa uma vogal
[^abc]Nenhum entre a, b ou c[^0-9] casa não-dígitos
* + ?0+, 1+, 0 ou 1 do anteriora+ casa a, aaa
{n} {n,m}Exatamente n / entre n e m\d{3,5} 3 a 5 dígitos
^ $Início / fim da string (ou da linha com m)^Error linha começa com Error
(...)Grupo de captura(\d+) captura os dígitos
(?:...)Grupo sem captura(?:foo|bar) agrupa sem capturar
a|bAlternância — a ou bsim|nao
\bLimite de palavra\bcat\b casa cat, mas não cats

Exemplos de regex pra testar

Casar o formato básico de um e-mail

Padrão
^[\w.+-]+@[\w-]+\.[\w.-]+$
Texto

learner@coddy.tech

Isso pega o formato básico algo@algo.algo. Validação de e-mail no mundo real é bem mais permissiva que isso — em formulários, é melhor usar type="email" e uma checagem no servidor.

Extrair todos os números de uma frase

Padrão
\d+
Texto

Lesson 12 has 3 tasks and 2 quizzes.

Com a flag g, isso encontra cada sequência de dígitos: 12, 3, 2. \d+ é o equivalente em regex de "um ou mais dígitos".

Tirar um id de uma URL com grupo de captura

Padrão
/users/(\d+)
Texto

/users/42/profile

O match completo é /users/42, e o grupo de captura (\d+) extrai só o 42. Grupos de captura são justamente como você *usa* o resultado de um regex no código.

Quantificadores gulosos vs preguiçosos

Guloso
<.+>
Preguiçoso
<.+?>
Texto

<b>hello</b>

A versão gulosa casa a string inteira <b>hello</b> porque .+ agarra o quanto consegue. A versão preguiçosa (+?) para no primeiro >, então casa só <b> e </b>.

Erros comuns com regex

  • Esquecer de escapar caracteres especiais: ., ?, +, (, ), [, ], {, }, \, ^, $, |. Quando você quer eles literalmente, coloca \ antes.
  • Escrever um padrão que funciona pra um exemplo, mas quebra com entrada real cheia de espaços extras, quebras de linha ou campos faltando.
  • Usar .* de forma gulosa e casar muito mais do que devia — troca por .*? ou por uma classe de caracteres mais específica.

Perguntas frequentes sobre regex

O que é regex?
Regex é abreviação de *regular expression* (expressão regular) — uma linguagem compacta de padrões pra casar texto. A mesma ideia existe em praticamente toda linguagem de programação e em vários editores e ferramentas de linha de comando.
Como eu escrevo um regex?
Comece com os caracteres literais que você quer casar e depois troque as partes variáveis por classes de caracteres (\d, \w, [abc]) e quantificadores (*, +, ?, {n,m}). Use um regex tester pra ir iterando até o padrão casar exatamente os casos que você quer.
O que significa \w em regex?
\w casa um caractere de palavra — uma letra, um dígito ou um underscore. \W é o oposto (qualquer não-palavra). O conjunto exato depende do motor e da flag Unicode.
Por que meu regex está casando demais?
Quantificadores são gulosos por padrão — .* casa o máximo possível. Troque por um quantificador preguiçoso (.*?) ou use uma classe de caracteres mais específica pra parar onde você quer.
Regex em JavaScript é igual aos outros?
O básico é igual, mas os motores variam. JavaScript, PCRE, re do Python, Java, Go e .NET cada um suporta um conjunto um pouco diferente de flags e recursos avançados (suporte a lookbehind, grupos nomeados, quantificadores possessivos).
Iniciantes deveriam aprender regex?
Devem sim — aos poucos. Comece com literais, classes de caracteres, quantificadores, âncoras, flags e grupos de captura. Lookarounds, grupos nomeados e regex condicional ficam pra depois.

Saiba mais

Outras ferramentas para desenvolvedores

Aprenda a programar com o Coddy

COMEÇAR