كيفية استخدام الوحدة القياسية re في لغة البرمجة بايثون

اقرأ في هذا المقال


كيفية استخدام الوحدة القياسية re في لغة البرمجة بايثون

تدعم لغة البرمجة بايثون مكتبة تحتوي على مجموعة من الوحدات القياسية (standard modules)، ومن أهم هذه الوحدات الوحدة (re) والتي تنفذ مجموعة من العمليات الخاصة بمطابقة التعابير النمطية في بايثون (Regular Expressions)، وهي تشبه إلى حد كبير للعمليات الموجودة في لغة البرمجة (Perl).

ومن الممكن أن تكون التعابير النمطية المراد العثور عليها عبارة عن مجموعة من السلاسل النصية من نوع (str) أو سلاسل نصية من نوع (bytes)، ولكن لا يجوز المزج بين النوعين أي أنّه لا يمكن مطابقة سلسلة نصية مع نمط من نوع (bytes) والعكس صحيح أيضًا، وتقدم هذه الوحدة مجموعة من الدوال التي تقوم بتنفيذ العديد من المهام وفيما يلي أهمها:

الدالةالاستخدام

()re. compile

يتم استخدام هذه الدالة للمطابقة بواسطة توابعه الخاصّة ب (match) و (search) وغيرها.

()re. search

تقوم هذه الدالة بفحص السلسلة النصية للبحث عن أول موقع يحصل فيه تطابق مع التعبير النمطي المعطى.

()re. match

تقوم هذه الدالة بفحص بداية السلسلة النصية للبحث عن حالة تطابق مع التعبير النمطي المعطى.
re. fullmatch()‎
تقوم هذه الدالة بالتحقق  إذا كانت السلسلة النصية بأكملها مطابقة للتعبير النمطي المعطى.
re. split()‎
تقوم هذه الدالة بتقسيم السلسلة النصية عند كل مكان تحدث فيه عملية مطابقة للنمط المعطى.
re.findall()‎
تقوم هذه الدالة بإرجاع جميع حالات التطابق غير المتداخلة للنمط المطبق على السلسلة النصية المعطاة على هيئة قائمة من السلاسل النصية.
re.sub()‎
تقوم هذه الدالة بتبديل  حالات التطابق في أقصى اليسار والناتجة عن تطبيق التعبير النمطي المعطى على السلسلة النصية المعطاة بسلسلة نصية أخرى.
re.subn()‎
تقوم هذه الدالة بنفس عمل الدالة السابقة (re.sub()‎) ولكن الفرق أن هذه الدالة  تعيد الناتج على هيئة صف.
re.findeiter()‎
تقوم هذه الدالة بإرجاع كائن قابل للتكرار (iterator) ينتج عنه مجوعة من الكائنات الخاصة ب (match) لجميع حالات التطابق غير المتداخلة والناتجة من تطبيق التعبير النمطي المعطى على السلسلة النصية المعطاة.

()re.purge

تقوم هذه الدالة بتفريغ الذاكرة (cache) الخاصة بالتعبير النمطي.

المصدر: re — Regular expression operations¶Python Regex: re.search() VS re.findall()What is Regular Expression in Python?What is the groups() method in regular expressions in Python?


شارك المقالة: