Testador de Regex Online - Expressões Regulares

Teste e valide expressões regulares em tempo real com destacamento visual de matches, suporte a flags e biblioteca de padrões comuns para aprender e desenvolver regex eficientes.

Testador de Regex

Flags:
g
i
m
s
u
📚 Padrões Comuns
Email
URL
Telefone BR
CPF
Data (DD/MM/YYYY)
Hexadecimal
🏁 Flags Disponíveis
  • g (global): Encontra todos os matches, não apenas o primeiro
  • i (insensitive): Ignora diferença entre maiúsculas e minúsculas
  • m (multiline): ^ e $ funcionam em cada linha
  • s (dotAll): . corresponde a quebras de linha
  • u (unicode): Trata o padrão como uma sequência Unicode

O que são Expressões Regulares?

Expressões regulares (regex ou regexp) são padrões usados para encontrar combinações de caracteres em strings. Elas são extremamente poderosas para validação, busca, extração e substituição de texto em praticamente todas as linguagens de programação.

Sintaxe Básica

Caracteres Literais

  • abc - Combina "abc" exatamente
  • 123 - Combina "123"
  • . - Qualquer caractere (exceto \n)

Classes de Caracteres

  • \d - Qualquer dígito [0-9]
  • \w - Caractere alfanumérico [a-zA-Z0-9_]
  • \s - Espaço em branco

Quantificadores

  • * - 0 ou mais vezes
  • + - 1 ou mais vezes
  • ? - 0 ou 1 vez (opcional)
  • {n,m} - Entre n e m vezes

Âncoras

  • ^ - Início da string
  • $ - Fim da string
  • \b - Limite de palavra

Grupos

  • (abc) - Grupo de captura
  • (?:abc) - Grupo não-captura
  • a|b - OR lógico

Escapar Caracteres

  • \. - Ponto literal
  • \* - Asterisco literal
  • \\ - Barra invertida literal

Flags (Modificadores)

Exemplos Práticos

📧 Validar Email

[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}

Match: usuario@exemplo.com.br

📱 Telefone Brasileiro

\(?(\d{2})\)?\s?(\d{4,5})-?(\d{4})

Match: (11) 98765-4321, 11987654321, (11) 3456-7890

🔗 Extrair URLs

https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b

Match: https://exemplo.com/pagina

🆔 CPF

\d{3}\.\d{3}\.\d{3}-\d{2}

Match: 123.456.789-00

🎨 Cor Hexadecimal

#?[0-9A-Fa-f]{6}

Match: #FF5733, ff5733

📅 Data DD/MM/YYYY

(\d{2})\/(\d{2})\/(\d{4})

Match: 25/12/2024 (com grupos de captura para dia, mês, ano)

Casos de Uso Comuns

✅ Validação

  • • Emails, telefones, CEP
  • • Senhas (força/complexidade)
  • • Cartões de crédito
  • • Datas e horários

🔍 Busca e Extração

  • • URLs, emails em texto
  • • Números, preços
  • • Hashtags, menções
  • • Tags HTML/XML

🔄 Substituição

  • • Formatação de texto
  • • Remoção de caracteres
  • • Transformação de dados
  • • Sanitização de input

✂️ Split e Parse

  • • CSV parsing
  • • Log parsing
  • • Tokenização
  • • Extração de dados

Dicas e Melhores Práticas

Armadilhas Comuns

⚠️ Cuidado com:

  • Greedy vs Lazy: .* é ganancioso, .*? é preguiçoso
  • Caracteres especiais: Sempre escape ., *, +, etc. quando precisar do literal
  • Performance: Regex complexos podem ser muito lentos (ReDoS)
  • Validação completa: Regex não substitui validação semântica (ex: 32/13/2024 passa no padrão mas é inválido)
  • Unicode: Use flag u para caracteres Unicode corretos

Regex em Diferentes Linguagens

JavaScript

const regex = /pattern/gi;
const match = text.match(regex);
const replaced = text.replace(regex, 'novo');

Python

import re
pattern = r'pattern'
match = re.search(pattern, text)
replaced = re.sub(pattern, 'novo', text)

PHP

$pattern = '/pattern/i';
preg_match($pattern, $text, $matches);
$replaced = preg_replace($pattern, 'novo', $text);

Recursos para Aprender

Tutoriais Interativos

  • • RegexOne
  • • RegexLearn
  • • Regex101 (com explicações)
  • • RegExr

Documentação

  • • MDN Web Docs
  • • Regular-Expressions.info
  • • Regex Cheat Sheet
  • • Documentação da linguagem

Perguntas Frequentes

Regex é lento?

Depende. Regex bem escritos são muito rápidos. Regex mal escritos com backtracking excessivo podem ser extremamente lentos (vulnerabilidade ReDoS). Sempre teste performance com dados reais.

Quando NÃO usar regex?

Para parsing de HTML/XML (use parsers apropriados), validações complexas que requerem lógica de negócio, ou quando uma solução string simples é mais clara e eficiente.

Como depurar regex complexos?

Use ferramentas online como Regex101 que explicam cada parte do padrão. Divida regex complexos em partes menores. Teste incrementalmente adicionando uma parte por vez.