البرمجة

استخدام التعبيرات العادية في PHP للبحث عن أطول متسلسل متطابق

عندما يتعلق الأمر بالبحث عن أطول متسلسل مطابق باستخدام التعبير العادي في لغة PHP، يمكننا القيام بذلك ببساطة باستخدام دالة preg_match واستخدام التعبير العادي الذي يحقق هذا الهدف. في حالتك، يمكننا بناء تعبير عادي يقوم بالبحث عن الجزء الأطول المتسلسل المتطابق من بداية السلسلة.

قد يكون الكود التالي مفيدًا:

php
$array = array("6", "66", "67", "68", "69", "697", "698", "699"); $strings = array("69212345", "6209876544", "697986546"); foreach ($strings as $str) { $longestMatch = ''; foreach ($array as $value) { $pattern = '/^' . $value . '/'; if (preg_match($pattern, $str, $matches)) { if (strlen($matches[0]) > strlen($longestMatch)) { $longestMatch = $matches[0]; } } } echo "For \"$str\" array value \"$longestMatch\" will be selected.\n"; } ?>

يقوم الكود بتكرار السلاسل المراد فحصها، ثم يقوم بفحص كل عنصر في الصفيف باستخدام التعبير العادي. إذا تطابق جزء من بداية السلسلة مع القيمة في الصفيف، يتم تحديث المتغير $longestMatch إذا كان الجزء المتطابق أطول من الذي تم العثور عليه سابقًا. في النهاية، يتم طباعة النتائج.

يرجى مراعاة أن استخدام التعبيرات العادية يتطلب فهمًا جيدًا للنمط الذي تحاول البحث عنه، ويجب أن يكون النمط معتمدًا على المتطلبات الدقيقة لتحديد الجزء الذي تريد العثور عليه.

المزيد من المعلومات

في سياق استخدام تعبيرات العناصر العادية في لغة PHP، يُعتبر التعبير العادي ^ بمثابة مران لبداية السلسلة. بمعنى آخر، يُعبر عن بداية النص المراد البحث فيه. أما الدالة preg_match، فتستخدم للبحث عن تطابق بين تعبير عادي وسلسلة نصية.

في الكود السابق، تم استخدام دالة preg_match بالتالي:

php
preg_match($pattern, $str, $matches)

حيث:

  • $pattern: هو التعبير العادي الذي يُراد فحصه.
  • $str: هو النص الذي يتم البحث فيه.
  • $matches: هو المصفوفة التي ستحتوي على التطابق الناتج إذا تم العثور على تطابق.

يُعيد الدالة preg_match قيمة صح إذا تم العثور على تطابق وقيمة خاطئ إذا لم يتم العثور على أي تطابق. يتم تخزين النتائج في المصفوفة $matches، ويمكن الوصول إليها لاحقًا لاستخدام القيمة المتطابقة.

في السياق الحالي، تم استخدام $matches[0] للحصول على الجزء المتطابق من السلسلة. وبما أننا نرغب في العثور على الجزء الأطول، تُستخدم دالة strlen لقياس طول الجزء المتطابق ومقارنته بالجزء الذي تم العثور عليه سابقًا.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر