O que você precisa decidir antes do padrão
Regex pode filtrar ou localizar URLs simples, mas parsing completo de URL deve usar as APIs próprias da linguagem sempre que possível.
Pense no problema antes de escrever Regex
Um padrão fica mais simples quando a regra já está clara. Para este caso, siga esta sequência:
- 01Determine se você quer encontrar uma URL em texto ou validar um campo inteiro.
- 02Restrinja protocolo somente se isso fizer parte da regra do produto.
- 03Use a classe URL/URI da linguagem para decompor host, porta, caminho e parâmetros.
Uma estrutura útil para exercícios
^https?://[\w.-]+\.[A-Za-z]{2,}(?:/.*)?$https? aceita http e https. O grupo final permite um caminho depois do domínio.
Teste protocolos e domínios
Passa: https://regexarena.com http://site.com.br/guia Falha: www.site.com ftp://site.com https://
Quando usar URL()
Em JavaScript, new URL(valor) faz parsing de componentes e lida com mais detalhes do padrão de URLs. Use Regex quando o requisito for localizar ou filtrar textos, não para reinventar um parser completo.
Validação não é segurança de destino
Uma URL sintaticamente válida ainda pode apontar para um host indesejado. Regras de segurança, allowlists e prevenção de SSRF pertencem a outra camada.
Como ler o padrão em partes
Em vez de memorizar a expressão inteira, leia cada bloco pela responsabilidade que ele cumpre:
https?aceita http e https quando o s torna-se opcional.://marca literalmente a separação entre esquema e o restante da URL.[^\s]+é útil para demonstrações de localização em texto, mas pode capturar pontuação indesejada no fim.^ ... $transforma uma expressão de busca em validação do campo completo.Onde Regex agrega valor aqui
Use para busca, pré-filtro e exercícios. Use URL/URI nativa para análise e validação estrutural em aplicações.
Erros comuns
- Tentar implementar toda a gramática de URL em uma Regex enorme.
- Esquecer URLs com portas, query strings ou fragmentos quando o produto precisa deles.
- Aceitar qualquer texto iniciado por http sem usar um parser depois.
- Usar Regex quando a linguagem já possui um parser robusto.
Teste e pratique
Use o Playground para experimentar o padrão com seus próprios dados e depois leve o conceito para as fases do jogo, onde os casos positivos e negativos são avaliados automaticamente.