• 0
عامر الشابي

التعابير النمطية Regular Expressions الجزء الأول‎

سؤال

السلام عليكم ورحمة الله وبركاته

التعابير النمطية تسهل علينا الكثير من أمورسنقوم في هذه السلسلة بشرح وفهم التعباير النمطية,التي ربما المحتوى العربي ﻻ يحتوي على دروس عليها لفهمها جيدا
ماهي التعابير النمطية Regular Expressions؟
التعابير النمطية هي طريقة متطور للبحث داخل نص معين عن كلمات او جمل لعمل مقارنة عليها وإستخراج الكلمة او الجملة المطبقة عليها التعبير النمطي,والتعابير النمطية يمكن إستخدامها في عديد من اللغات البرمجة مثل Python,Perl,Php,C نظرا لقوتها في تعامل مع النصوص والبحث داخلها فهي تسهل علينا عمل كثيرا,يمكن تسميتها regex or regexp,وهذا ابسط تعريف علمي لها.
R86do.gif
مثال على التعابير النمطية:
نفترض أننا نملك ملف يحتوي على إميﻻت عديدة مثﻻ yahoo,gmail,aol,hotmail..etc ونريد من سكربت أن يطبع لنا فقط اميﻻت الدومين gmail هنا يأتي دور التعابير النمطية بدﻻ من كتابة سكربت معقد وكثير الشفرات فبالتعابير النمطية ربما لن يزيد عدد أسطر السكربت عن 5 أسطر
سأوضح الفائدة من التعابير النطية بمثال واضح جدا فتابع معي جيدا عزيز القارئ:
لدينا هنا المتغير sub الذي يحتوي على القيم Values
cOB5K.png
لدينا متغير آخر وهو S يحتوي أيضا على قيم التالية
55leh.png
الآن سنعمل مقارنة سنعطي للبايثون تعبير نمطي نقول له إذا كان أول حرف من المتغير sub يساوي أول حرف من تغير S بكل بساطة ستكون الشفيرة كالتالي

 

s[0] == sub[0]

 

هنا شفيرتنا غير محقق أي False ﻻحظ الصورة تالية

JRRDu.png
حسنا سنعطي للبايثون تعبير نمطي آخر سنقول له قارن الحرف الثاني والثالث والرابع من المتغير S مع كل قيم المتغير sub شفيرة بكل بساطة ستكون كالتالي
 if s[1:4] == sub

هنا البايثون سيستخرج الحرف الثاني من المتغير S وهو a يعني الحالة True ينتقل البايثون إلى الحرف الثالث وهو a هنا البايثون سيتوقف أي أن الشرط غير محقق فالحرف الثالث غير مطابق مع قيمة الثانية من المتغير sub إذا الحالة False,ﻻحظ الصورة التالية باللون الاخضر يعني الشرط محقق والأحمر غير محقق فيتوقف عمل البرنامج كليا

LU5t0.png
التعبير النطي الثالث سنقول للبايثون قارن الحرف الثالث والرابع والخامس مع كل قيم متغير sub الشفيرة تكون كنحو التالي
if s[2:5] == sub

الحرف الثالث مطابق والرابع مطابق الخامس غير مطابق فيتوقف عمل البرنامج ﻻحظ الصورة التالية

QJ0lt.png
التعبير النمطي الرابع سنقول للبايثون قارن الحرف الثالث والرابع والخامس مع قيم المتغير sub الشفيرةتكون كالتالي
if s[3:5] == sub

أول حرف غير مطابق إذا سيتوقف عمل البرنامج ﻻحظ الصورة التالية

05X71.png
التعبير النطي الأخير سنقول للبايون قارن الحرف الرابع والخامس والسادس مع قيم المتغير sub الشفيرة تكون الكتالي

if s[4:6] == sub 

سنجد أن الشرط كله محقق True ﻻحظ الصورة التالية

MwVla.png
هذا أبسط وابسط تعبير نمطي قد تراه في عالم البرمجة وهذا بدون إستدعاء أي مكتبة تخص التعابير النمطية
سيكون هذا اول جزء من سلسلة تعلم التعابير النمطية في البايثون,عليك عزيزي القارئ أن تدرس أساسيات البايثون أولا قبل دخول إلى التعابير النمطية

 

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

2 إجابة على هذا السؤال .

  • 0

شكرا جزيلا على هذا الشرح

بانتظار الدرس القادم

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .