Porque testar o padrão antes de usar em produção?
. em vez de \.) pode aceitar entradas inválidas ou rejeitar entradas válidas. Testar com exemplos reais, em direto, é a forma mais fiável de apanhar esse tipo de erro antes de afetar utilizadores reais.No testador de regex ToolPico, escreves o padrão e o texto de exemplo, e cada correspondência é destacada instantaneamente a cores — sem precisares de abrir o teu editor de código ou correr um script à parte. O separador "Testes" ainda permite verificar vários exemplos de uma vez, marcando cada um a verde ou vermelho conforme corresponde (ou não) ao que esperas.
Regex para validar um endereço de email
^[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}$ cobre a grande maioria dos formulários reais: nome de utilizador com letras/dígitos/ponto/mais/hífen, um @, um domínio, e uma extensão de pelo menos duas letras.Um regex totalmente conforme com a especificação RFC 5322 seria enorme e difícil de ler — na prática, quase nenhum formulário precisa disso. É mais habitual usar um padrão simplificado como este, e confirmar a entrega real do email por outro meio (como um email de confirmação).
| Texto | Corresponde? | Motivo |
|---|---|---|
| nome@exemplo.com | Sim | Formato completo válido |
| primeiro.ultimo+tag@empresa.co.uk | Sim | Ponto e "+" são permitidos no nome de utilizador |
| email-invalido | Não | Falta o @ e o domínio |
| @utilizador-em-falta.com | Não | Falta o nome de utilizador antes do @ |
No testador, este padrão já vem pré-carregado por defeito — basta colares o teu próprio texto de teste no campo "Texto de teste" e ver as correspondências destacadas a violeta.
Regex para validar um número de telefone
^(?:\+1|1)?\s?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$ aceita variações comuns como "(555) 123-4567", "555.123.4567" ou "+1 555 123 4567".Este padrão verifica apenas o formato — não confirma que o indicativo local esteja realmente atribuído a uma região. Para números portugueses ou de outros países, o padrão precisa de ser adaptado ao número de dígitos e ao prefixo internacional correto; o modelo incluído na ferramenta serve como ponto de partida a ajustar.
De forma semelhante, um cartão bancário pode ser verificado quanto ao formato com ^\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}$, mas isto não substitui uma verificação real com o algoritmo de Luhn — o regex confirma apenas que existem quatro grupos de quatro dígitos, não que o número seja matematicamente válido.
Grupos de captura e substituição de texto
(\d{4})-(\d{2})-(\d{2}) forma grupos de captura numerados; ao aplicar a substituição $2/$3/$1, uma data "2026-07-29" torna-se "07/29/2026".Os grupos com nome, escritos como (?<ano>\d{4}), tornam o padrão mais legível e permitem referenciar o resultado por nome em vez de número. Já (?:...) agrupa sem capturar — útil quando só precisas de repetir um bloco sem o numerar.
No separador "Substituir" do testador, escreves a substituição e vês instantaneamente uma pré-visualização do resultado, sem alterar o teu texto original — ideal para confirmar uma reformatação de datas ou uma máscara de dados sensíveis antes de aplicar num script real.
Testa o teu próprio padrão regex em direto, com destaque de correspondências, grupos, substituição e gerador de código para 4 linguagens.
Testar Regex agora →Perguntas frequentes
Como se testa um padrão regex?
Qual é um exemplo de regex para validar um email?
^[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}$: procura letras, dígitos, sublinhado, ponto, mais ou hífen no nome de utilizador, um sinal @, um nome de domínio e uma extensão de pelo menos duas letras. Um regex totalmente conforme com a RFC 5322 é muito mais complexo; na prática, este padrão simplificado basta para a maioria dos formulários.Como se escreve um regex para um número de telefone?
^(?:\+1|1)?\s?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$ corresponde a um número de 10 dígitos, com prefixo +1/1 opcional, parênteses opcionais à volta do indicativo local, e espaços, pontos ou hífens opcionais entre os grupos. Este padrão só verifica o formato — não confirma que o indicativo esteja realmente atribuído.Um regex sozinho chega para validar um número de cartão bancário?
^\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}$ verifica apenas que existem quatro grupos de quatro dígitos. Um número de cartão realmente válido também deve passar o algoritmo de Luhn, um cálculo dígito a dígito que o regex não consegue realizar sozinho — na prática usa-se um filtro de formato regex seguido de uma verificação de Luhn no código.