"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني استخدام التعبيرات العادية لاكتشاف عناوين URL، بما في ذلك عناوين URL المجردة؟

كيف يمكنني استخدام التعبيرات العادية لاكتشاف عناوين URL، بما في ذلك عناوين URL المجردة؟

تم النشر بتاريخ 2024-12-20
تصفح:363

How Can I Use Regular Expressions to Detect URLs, Including Naked URLs?

اكتشاف عناوين URL باستخدام التعبيرات العادية

فشل الكود الحالي في مطابقة عناوين URL المجردة، التي تفتقر إلى البادئة "http://". لمعالجة هذه المشكلة، فكر في استخدام تعبير عادي شامل:

https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)

يتضمن هذا التعبير المحسن الميزات التالية:

  • يضمن أن تبدأ عناوين URL إما بـ "http://" أو " https://"، أو لا شيء.
  • يسمح بالنطاقات الفرعية من خلال تضمين "(www.)" كبادئة اختيارية.
  • وهو يدعم أسماء النطاقات التي يصل طولها إلى 256 حرفًا و نطاقات المستوى الأعلى تصل إلى 6 أحرف.

بالنسبة لأولئك الذين لا يحتاجون إلى بروتوكول HTTP في مطابقاتهم، يتوفر تعبير بديل:

[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)

لتوضيح وظيفة هذه التعبيرات، راجع أدوات الاختبار عبر الإنترنت على http://regexr.com?37i6s (للتعبير الأول) أو http //regexr.com/3e6m0 (للتعبير الأقل تقييدًا).

إليك مثال لتطبيق JavaScript باستخدام التعبير العادي الأكثر شمولاً:

const expression = /[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)/gi;
const regex = new RegExp(expression);
const t = 'www.google.com';

if (t.match(regex)) {
  alert("Successful match");
} else {
  alert("No match");
}
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3