كيفية استخدام الوحدة القياسية 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) الخاصة بالتعبير النمطي. |