مقال : التعابير النمطية Regular Expressions الجزء الأول
التعابير النمطية Regular Expressions الجزء الأول
في درس السابق تكلمت عن إستخدام التعابير النمطية في برمجة تطبيقات الويب,والتعابير النمطية تسهل علينا الكثير من أمور وفي هذه السلسلة سنقوم بشرح وفهم التعباير النمطية,التي ربما المحتوى العربي ﻻ يحتوي على دروس عليها لفهمها جيدا
ماهي التعابير النمطية Regular Expressions؟
التعابير النمطية هي طريقة متطور للبحث داخل نص معين عن كلمات او جمل لعمل مقارنة عليها وإستخراج الكلمة او الجملة المطبقة عليها التعبير النمطي,والتعابير النمطية يمكن إستخدامها في عديد من اللغات البرمجة مثل Python,Perl,Php,C نظرا لقوتها في تعامل مع النصوص والبحث داخلها فهي تسهل علينا عمل كثيرا,يمكن تسميتها regex or regexp,وهذا ابسط تعريف علمي لها.
مثال على التعابير النمطية:
نفترض أننا نملك ملف يحتوي على إميﻻت عديدة مثﻻ yahoo,gmail,aol,hotmail..etc ونريد من سكربت أن يطبع لنا فقط اميﻻت الدومين gmail هنا يأتي دور التعابير النمطية بدﻻ من كتابة سكربت معقد وكثير الشفرات فبالتعابير النمطية ربما لن يزيد عدد أسطر السكربت عن 5 أسطر
سأوضح الفائدة من التعابير المنطية بمثال واضح جدا فتابع معي جيدا عزيز القارئ
لدينا هنا المتغير sub الذي يحتوي على القيم Values
لدينا متغير آخر وهو S يحتوي أيضا على قيم التالية
الآن سنعمل مقارنة سنعطي للبايثون تعبير نمطي نقول له إذا كان أول حرف من المتغير sub يساوي أول حرف من تغير S بكل بساطة ستكون الشفيرة كالتالي
s[0] == sub[0]
هنا شفيرتنا غير محقق أي False ﻻحظ الصورة تالية
حسنا سنعطي للبايثون تعبير نمطي آخر سنقول له قارن الحرف الثاني والثالث والرابع من المتغير S مع كل قيم المتغير sub شفيرة بكل بساطة ستكون كالتالي
if s[1:4] == sub
هنا البايثون سيستخرج الحرف الثاني من المتغير S وهو a يعني الحالة True ينتقل البايثون إلى الحرف الثالث وهو a هنا البايثون سيتوقف أي أن الشرط غير محقق فالحرف الثالث غير مطابق مع قيمة الثانية من المتغير sub إذا الحالة False,ﻻحظ الصورة التالية باللون الاخضر يعني الشرط محقق والأحمر غير محقق فيتوقف عمل البرنامج كليا
التعبير النطي الثالث سنقول للبايثون قارن الحرف الثالث والرابع والخامس مع كل قيم متغير sub الشفيرة تكون كنحو التالي
if s[2:5] == sub
الحرف الثالث مطابق والرابع مطابق الخامس غير مطابق فيتوقف عمل البرنامج ﻻحظ الصورة التالية
التعبير النمطي الرابع سنقول للبايثون قارن الحرف الثالث والرابع والخامس مع قيم المتغير sub الشفيرةتكون كالتالي
if s[3:5] == sub
أول حرف غير مطابق إذا سيتوقف عمل البرنامج ﻻحظ الصورة التالية
التعبير النطي الأخير سنقول للبايون قارن الحرف الرابع والخامس والسادس مع قيم المتغير sub الشفيرة تكون الكتالي
if s[4:6] == sub
سنجد أن الشرط كله محقق True ﻻحظ الصورة التالية
هذا أبسط وابسط تعبير نمطي قد تراه في عالم البرمجة وهذا بدون إستدعاء أي مكتبة تخص التعابير النمطية
سيكون هذا اول جزء من سلسلة تعلم التعابير النمطية في البايثون,عليك عزيزي القارئ أن تدرس أساسيات البايثون أولا قبل دخول إلى التعابير النمطي
للامانة عرفت الكثير من الأموُر عن التعابير النمطية , كالعادة مقالات ممُتازة ياشباب
كل الشكر والتقدير أخوي عامر , واصل ومُتابعيين لك بأذن الله – تعالى –