Professional Documents
Culture Documents
بعد ان تحدثنا عن مقدمة التعامل مع التعابير القياسية ( )Regular Expressionsومميزاتها وبعض األمثلة عنها في الدرس
السابق ،نأتي اليوم الى اكمال حديثنا عنها بشرح المزيد من األمثلة للمقارنة بين مميزات استخدامها والبرمجة بدونها وكما كرنا
سابقا ً يبقى خيار استخدامها او تركها للمبرمج مع التأكيد على أهميتها لتقليل حجم البرنامج وتسريع التنفيذ فتابعوا معنا:
المثال األول :استرجاع األرقام فقط:
هذا المثال يتكون من ثالث أسطر برمجية فقط في األول قمنا باستيراد مكتبة التعابير القياسية التي ال يمكن ان تعمل اال باستيراد
مكتبتها والسطر الثاني ادخال لقيمة المتغير ( )xواما السطر الثالث فهو تعريف للمتغير ( )yواسناد قيمة (او قيم) له هي عبارة
عن ناتج تنفيذ عبارة البحث ضمن المتغير ( )xعن أي سلسلة رقمية تحتوي األرقام من الصفر الى التسعة ويمكن البحث عن
أي سلسلة رقمية او رمزية وكما في ادناه:
المثال الثاني :استرجاع قيم رمزية لمجموعة حروف معينة فقط:
هنا قمنا بكتابة نفس الكود البرمجي وكل ما غيرناه هو إضافة (?) الى التركيب القياسي لنجعله يتوقف عند اول نقطة مطابقة
لنهاية السلسلة المطلوبة وهكذا حصل.
المثال الخامس :تركيز المطابقة حول رمز واحد:
هنا قلنا للمفسر قم بالبحث عن الرمز (@) وقبله على األقل رمز واحد ليس فراغ ( )non-whitespaceوبعده على األقل رمز
واحد ليس فراغ ( )non-whitespaceوقم بوضعه داخل المتغير ( )yثم اطبعه.
المثال السادس :لزيادة التركيز أكثر في نتائج المطابقة نستخدم االقواس () والتي تحدد بداية ونهاية الجزء المراد ارجاعه كما
في ادناه:
وهنا نالحظ ان ال ( )zعلى الرغم من انها تحتوي على الكثير من الرموز للمطابقة بداخلها اال ان ما ارجعته عبارة الطباعة هو
فقط ما كان محصوراً بين القوسين () وهو المطلوب لتضييق نطاق النتائج المرجعة.
المثال السابع:
المثال الثامن :البحث بطريقة التجزئة المزدوجة ( :)double splitوقد سبق التطرق الى هذه الطريقة وشرحها سابقا ً
المثال التاسع :لتطبيق نفس المطلوب في المثال السابق باستخدام التعابير القياسية:
الى هنا احبتي الكرام ينتهي درس اليوم وينتهي الجزء األول من دورتنا المستمرة ان شاء هللا وقد تناولنا في هذه الدورة كل ما
يتعلق بأدوات االدخال واإلخراج واساسيات البرمجة بلغة بايثون ومعالجة البيانات الرقمية والنصية بكل الطرق الممكنة .سيكون
تركيزنا في األجزاء القادمة من هذه الدورة ان شاء هللا على البرمجة للتطبيقات التفاعلية ()interactive applications
للحاسوب والهواتف النقالة ان شاء هللا وربما نصل الى مرحلة البرمجة للتطبيقات الموزعة عبر االنترنت (الشبكات) وبرمجة
مواقع االنترنت بلغة بايثون فتابعوا معنا وهللا الموفق لكل خير.
كالعادة :ال تنسونا بالدعاء والمشاركة بالنشر لتعميم الفائدة