Online Regex Tester - Regular Expressions

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

Regex Tester

Flags:
g
i
m
s
u
📚 Common Patterns
Email
URL
Telefone BR
CPF
Data (DD/MM/YYYY)
Hexadecimal
🏁 Available Flags
  • g (global): Finds all matches, not just the first
  • i (insensitive): Ignores difference between uppercase and lowercase
  • m (multiline): ^ and $ work on each line
  • s (dotAll): . matches line breaks
  • u (unicode): Treats the pattern as a Unicode sequence

O que são Expressões Regulares?

Expressões regulares (regex ou regexp) são padrões usados para encontrar combinações de characters 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

Characters Literais

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

Classes de Characters

  • \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 Characters

  • \. - 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)

Use Cases 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 characters
  • • 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
  • Characters 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 characters 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.