🧩
← Voltar aos guias

Regex para Iniciantes: Como Escrever Expressões Regulares

· Tags: regex-beginners, regular-expression-guide, regex-tutorial, regex-patterns, learn-regex

Regex para Iniciantes

Expressões regulares — regex — são padrões que descrevem texto. Com regex, você pode pesquisar strings, validar entrada, extrair dados e realizar localizar-e-substituir complexos usando uma única expressão compacta. Uma vez que você entende os fundamentos, regex se torna uma das ferramentas mais poderosas do seu kit de ferramentas de programação.

O Que É uma Expressão Regular?

Uma regex é uma sequência de caracteres que define um padrão de busca. O padrão \d{3}-\d{2}-\d{4} corresponde a um número de Seguro Social dos EUA: três dígitos, hífen, dois dígitos, hífen, quatro dígitos.

Mecanismos de regex existem em praticamente todas as linguagens de programação — JavaScript, Python, Java, Ruby, Go — todas com suporte integrado.

Caracteres Literais

A maioria dos caracteres corresponde a si mesmos. O padrão cat corresponde à string literal "cat" onde quer que ela apareça.

Pattern: cat
Matches: "cat" in "The cat sat on the mat."
Matches: "cat" in "catalog"

A correspondência literal é direta, mas limitada. O verdadeiro poder vem dos metacaracteres.

Metacaracteres

Esses caracteres têm significado especial e devem ser escapados com \ para corresponder literalmente:

. ^ $ * + ? { } [ ] \ | ( )

Classes de Caracteres

Classes de caracteres correspondem a um caractere de um conjunto.

Notação com Colchetes

| Padrão | Correspondências | |---------|---------| | [aeiou] | Qualquer vogal | | [0-9] | Qualquer dígito | | [a-zA-Z] | Qualquer letra | | [^0-9] | Qualquer caractere que NÃO seja um dígito |

Classes Predefinidas

| Abreviação | Descrição | |-----------|-------------| | \d | Qualquer dígito (igual a [0-9]) | | \w | Letra, dígito ou sublinhado | | \s | Espaço, tabulação, nova linha | | \D | Qualquer não dígito | | \W | Qualquer caractere que não seja de palavra | | \S | Qualquer caractere que não seja espaço em branco | | . | Qualquer caractere exceto nova linha |

Quantificadores

Quantificadores controlam quantas vezes o elemento anterior deve aparecer.

| Quantificador | Significado | Exemplo | Correspondências | |------------|---------|---------|---------| | * | Zero ou mais | a* | "", "a", "aa" | | + | Um ou mais | a+ | "a", "aa", "aaa" | | ? | Zero ou um | colou?r | "color", "colour" | | {3} | Exatamente N | \d{3} | "123" | | {2,4} | Entre N e M | \d{2,4} | "12", "123", "1234" |

Exemplos

\d+     → "42" in "Answer is 42"
https?://  → "http://" and "https://"

Âncoras

Âncoras correspondem a posições, não a caracteres.

| Âncora | Significado | |--------|---------| | ^ | Início da string | | $ | Fim da string | | \b | Limite de palavra | | \B | Limite de não palavra |

^hello   → matches "hello" only at the start
end$     → matches "end" only at the end
\bword\b → matches "word" as a whole word, not inside "sword"

Grupos e Alternação

Grupos de captura ( ) extraem partes correspondentes:

(\d{3})-(\d{4}) → "555-1234", captures "555" in group 1, "1234" in group 2

Grupos não capturantes (?: ) agrupam sem extrair:

(?:https?|ftp):// → "http://", "https://", "ftp://"

Alternação | atua como OU:

cat|dog|bird → matches "cat", "dog", or "bird"

Exemplos Práticos de Regex

| Caso de Uso | Padrão | |----------|---------| | Telefone dos EUA | \d{3}-\d{3}-\d{4} | | E-mail (simples) | \S+@\S+\.\S+ | | Endereço IP | \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} | | Hashtag | #[a-zA-Z]\w* | | Hora (HH:MM) | [01]\d|2[0-3]:[0-5]\d |

Como Testar um Padrão de Regex

Sempre teste padrões interativamente:

  1. Insira seu padrão de regex.
  2. Insira uma string de teste.
  3. Veja quais partes correspondem em tempo real.
  4. Ajuste e repita.

Use a ferramenta regex tester para experimentar padrões. Ela destaca correspondências, mostra grupos de captura e ajuda você a entender exatamente o que cada parte da sua expressão faz.

Regex para Iniciantes: Como Escrever Expressões Regulares - CoolTool