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:
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
Use expressões como [123] para conjuntos ou {n} para quantificadores
💡 Para que usar Flags e Delimitadores
g→ Global: procura todas as ocorrências, não apenas a primeira.m→ Multiline: faz com que^e$correspondam ao início e fim de cada linha, e não do texto inteiro.i→ Ignore Case: ignora maiúsculas e minúsculas (ex:/abc/iencontra “ABC” ou “abc”).s→ Dot All: permite que o ponto.também corresponda a quebras de linha (\n).\b→ Boundary: 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, semm).$→ Fim: corresponde ao fim da linha (ou texto, semm).
^ 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/