"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como combinar URLs com ou sem prefixos HTTP e WWW opcionais usando uma expressão regular?

Como combinar URLs com ou sem prefixos HTTP e WWW opcionais usando uma expressão regular?

Publicado em 2024-11-09
Navegar:580

How to Match URLs with or Without Optional HTTP and WWW Prefixes Using a Regular Expression?

Correspondência de URLs com prefixos HTTP e WWW opcionais

Expressões regulares são ferramentas poderosas para tarefas complexas de correspondência de padrões. Quando se trata de URLs correspondentes, muitas vezes há variações no formato, como se inclui “http://www”. prefixo ou não.

Solução usando expressão regular

Para corresponder URLs com ou sem o "http://www." prefixo, a seguinte expressão regular pode ser usada:

((https?|ftp)://)?
([a-z0-9 !*(),;?&=$_.-] (:[a-z0-9 !*(),;?&=$_.-] )?@)?
([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3})))
(:[0-9]{2,5})?
(/([a-z0-9 $_%-]\.?) )*/?
(\?[a-z &\$_.-][a-z0-9;:@&%= /$_.-]*)?
(#a-z_.-][a-z0-9 $%_.-]*)?

Detalhamento da expressão:

  • (https?|ftp):// - Identificador de protocolo opcional (http ou ftp)
  • ([a-z0-9 !*(),;?&=$_ .-] (:[a-z0-9 !*(),;?&=$_.-] )?@)? - Usuário e senha opcionais
  • ([ a-z0-9-.]*).(([a-z]{2,4})|([0-9]{1,3}.([0-9]{1,3}).([ 0-9]{1,3}))) - Nome do host ou endereço IP
  • (:[0-9]{2,5})? - Número da porta opcional
  • (/([a-z0-9 $_%-].?) )*/? - Caminho opcional
  • (?a-z &$ _.-*)? - String de consulta opcional
  • (#a-z_.-][a-z0-9 $%_.-]*)? - Opcional âncora

Exemplo de uso

Para verificar se uma determinada string corresponde à expressão regular, use a seguinte sintaxe:

if(preg_match(~^$regex$~i, 'www.example.com/etcetc', $m))

Isso retornará TRUE se a string corresponder ao padrão de URL com ou sem o "http:/ /www." prefixo.

Declaração de lançamento Este artigo foi reimpresso em: 1729557683 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3