"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > How to Match URLs with or Without Optional HTTP and WWW Prefixes Using a Regular Expression?

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

تم النشر بتاريخ 2024-11-09
تصفح:843

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

Matching URLs with Optional HTTP and WWW Prefixes

Regular expressions are powerful tools for complex pattern matching tasks. When it comes to matching URLs, there are often variations in the format, such as whether it includes "http://www." prefix or not.

Solution Using Regular Expression

To match URLs with or without the "http://www." prefix, the following regular expression can be used:

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

Breakdown of the Expression:

  • (https?|ftp):// - Optional protocol identifier (http or ftp)
  • ([a-z0-9+!*(),;?&=$_.-]+(:[a-z0-9+!*(),;?&=$_.-]+)?@)? - Optional user and password
  • ([a-z0-9-.]*).(([a-z]{2,4})|([0-9]{1,3}.([0-9]{1,3}).([0-9]{1,3}))) - Hostname or IP address
  • (:[0-9]{2,5})? - Optional port number
  • (/([a-z0-9+$_%-].?)+)*/? - Optional path
  • (?a-z+&$_.-*)? - Optional query string
  • (#a-z_.-][a-z0-9+$%_.-]*)? - Optional anchor

Example Usage

To check if a given string matches the regular expression, use the following syntax:

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

This will return TRUE if the string matches the URL pattern with or without the "http://www." prefix.

بيان الافراج أعيد طبع هذه المقالة على: 1729557683 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3