Ferramentas Regex

Crie, teste e valide expressões regulares

O que são Expressões Regulares?

Expressões regulares (regex) são padrões especiais usados para encontrar e manipular texto. Elas ajudam a procurar por padrões específicos em textos, como números de telefone, endereços de e-mail, etc.

Opções Básicas do Regex:
Encontre qualquer um dos caracteres especificados
Texto literal a ser encontrado
Controla quantas vezes o padrão deve aparecer

Opções Avançadas do Regex:
Separe opções com | (Ex: +351|351 para /^(+351|351)/)
Separe grupos com ; (Ex: 9[1236][0-9]{7} para /^(9[1236][0-9]{7})$/)
Use expressões como [123] para conjuntos ou {n} para quantificadores
💡 Para que usar Flags e Delimitadores
  • gGlobal: procura todas as ocorrências, não apenas a primeira.
  • mMultiline: faz com que ^ e $ correspondam ao início e fim de cada linha, e não do texto inteiro.
  • iIgnore Case: ignora maiúsculas e minúsculas (ex: /abc/i encontra “ABC” ou “abc”).
  • sDot All: permite que o ponto . também corresponda a quebras de linha (\n).
  • \bBoundary: garante que o padrão é encontrado apenas quando está isolado (ex: /\bcat\b/ encontra “cat” mas não “concatenate”).
  • ^Início: corresponde ao início da linha (ou texto, sem m).
  • $Fim: corresponde ao fim da linha (ou texto, sem m).
Dica: Para validações simples (ex: emails, senhas), normalmente só precisas de ^ e $ sem g nem m. Usa i se quiseres que não haja distinção entre maiúsculas/minúsculas e \b para evitar falsos positivos em textos longos.
Insira um padrão regex completo diretamente (ignora outras opções)
Exemplos:
  • Email: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/
  • Telemóvel PT: /(\+351|351)?9[1236]\d{7}/ - Apenas telemóveis (ex: 912345678, +351912345678)
  • Telefone PT (todos): /(\+351|351)?[2-9]\d{8}/ - Fixos e telemóveis (ex: 212345678, 912345678)
  • Telefone Brasil: /(\+55|55)?\s?(\d{2})\s?9?\d{4}-?\d{4}/
  • NIF Portugal: /[1-9]\d{8}/ - 9 dígitos, não começa com 0
  • IBAN (Portugal e UE): /([A-Z]{2}\d{2})(\s?\d{4}){4,7}\s?/ - Aceita formato PT e europeu (ex: PT50 1234 5678 9012 3456 7890 1)
  • Cartão Cidadão PT: /\d{8}[ -]?\d[ -]?[A-Z]{2}\d/ - Ex: 12345678 9 ZZ0
  • Código Postal PT: /\d{4}-\d{3}/ - Formato ####-###
  • CPF Brasil: /\d{3}\.\d{3}\.\d{3}-\d{2}/
  • CNPJ Brasil: /\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}/
  • CEP Brasil: /\d{5}-?\d{3}/
  • Data (DD/MM/YYYY): /(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[0-2])\/\d{4}/
  • URL (no meio do texto): /(https?:\/\/)([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}([\/?#][^\s]*)?/
  • Username: /[a-zA-Z0-9_]{3,16}/ - 3 a 16 caracteres alfanuméricos
  • Hexadecimal: /#?[0-9A-Fa-f]{6}/ - Cores hex com # opcional
  • Senha Forte: /(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}/ - Mín. 8 chars (encontra no meio do texto)
  • Número Inteiro: /-?\d+/ - Aceita inteiros positivos ou negativos (ex: -42, 1500)
  • Número Decimal: /-?\d+([.,]\d+)?/ - Decimais com ponto ou vírgula (ex: 3.14, -2,5)
  • Placa de Matrícula PT (modelo novo): /[A-Z]{2}-\d{2}-[A-Z]{2}/ - Ex: AB-12-CD
  • Hashtag: /#[A-Za-z0-9_]{2,30}\b/ - Ex: #Portugal, #DevTools
  • IP Address: /\b(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}\b/