"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo hacer coincidir las URL con o sin prefijos HTTP y WWW opcionales utilizando una expresión regular?

¿Cómo hacer coincidir las URL con o sin prefijos HTTP y WWW opcionales utilizando una expresión regular?

Publicado el 2024-11-09
Navegar:416

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

Coincidencia de URL con prefijos HTTP y WWW opcionales

Las expresiones regulares son herramientas poderosas para tareas complejas de coincidencia de patrones. Cuando se trata de URL coincidentes, a menudo hay variaciones en el formato, como si incluye "http://www". prefijo o no.

Solución usando expresiones regulares

Para hacer coincidir URL con o sin "http://www." prefijo, se puede utilizar la siguiente expresión regular:

((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 $%_.-]*)?

Desglose de la expresión:

  • (https?|ftp):// - Identificador de protocolo opcional (http o ftp)
  • ([a-z0-9 !*(),;?&=$_.-] (:[a-z0-9 !*(),;?&=$_.-] )?@)? - Usuario opcional y contraseña
  • ([a-z0-9-.]*).(([a-z]{2,4})|([0-9]{1,3}.([0 -9]{1,3}).([0-9]{1,3}))) - Nombre de host o IP dirección
  • (:[0-9]{2,5})? - Número de puerto opcional
  • (/([a-z0-9 $ _%-].?) )*/? - Ruta opcional
  • (?a-z &$_.-*)? - Consulta opcional string
  • (#a-z_.-][a-z0-9 $%_.-]*)? - Ancla opcional

Uso de ejemplo

Para comprobar si una cadena determinada coincide con la expresión regular, utilice lo siguiente sintaxis:

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

Esto devolverá VERDADERO si la cadena coincide con el patrón de URL con o sin "http://www." prefijo.

Declaración de liberación Este artículo se reimprime en: 1729557683 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3