Python/regex

من موسوعة حسوب
مراجعة 13:12، 5 يونيو 2018 بواسطة Mohammed Taher (نقاش | مساهمات) (أنشأ الصفحة ب'ينشأ كائن التعبير النمطي <code>regex</code> من تصريف التعبير النمطي بواسطة الدالة <code>Python/re/compile|re.compi...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

ينشأ كائن التعبير النمطي regex من تصريف التعبير النمطي بواسطة الدالة re.compile()‎، ويقدّم هذا الكائن مجموعة من الخصائص والتوابع التي يمكن من خلالها إجراء العديد من العمليات على التعابير النمطية المصرّفة.

خصائص الكائن regex

يقدّم الكائن regex الخصائص التالية:

regex.flags

رايات التطابق الخاص بالكائن regex، وتمثّل مجموعة الرايات التي تمرّر إلى الدالة re.compile()‎، إضافة إلى الرايات السطرية (‎?...‎) في التعابير النمطية، والرايات الضمنية مثل UNICODE إن كان التعبير النمطي سلسلة نصية بترميز Unicode.

regex.groups

عدد مجموعات الالتقاط في التعبير النمطي.

regex.groupindex

قاموس يربط أسماء المجموعات الرمزية والمعرّفة بواسطة التعبير (?P<id>) بأعداد المجموعات. يكون القاموس خاليًا إن لم تستخدم أي مجموعة رمزية في التعبير النمطي.

regex.pattern

سلسلة التعبير النمطي التي استُخدمت لتصريف كائن التعبير النمطي.

توابع الكائن regex

يقدّم الكائن regex التوابع التالية:

التابع regex.search()‎

يفحص هذا التابع السلسلة النصية المعطاة بحثًا عن أول موقع يحصل فيه تطابق مع التعبير النمطي المصرّف، ويعيد كائن التطابق المقابل.

التابع regex.match()

يفحص هذا التابع بداية السلسلة النصية المعطاة بحثًا عن حالة تطابق مع التعبير النمطي المصرّف، ويعيد كائن التطابق المقابل.

التابع regex.fullmatch()

يتحقّق هذا التابع من تطابق التعبير النمطي المصرّف مع السلسلة النصية المعطاة كاملة، ويعيد كائن التطابق المقابل.

التابع regex.split()

يقسم التابع السلسلة النصية عند كل مكان تحدث فيه عملية مطابقة للنمط المصرّف. هذا التابع مطابق تمامًا للدالة re.split()‎.

التابع regex.findall()

يعيد التابع جميع حالات التطابق غير المتداخلة للنمط المصرّف والمطبّق على السلسلة النصية المعطاة على هيئة قائمة من السلاسل النصية.

التابع regex.finditer()

يعيد التابع كائنًا قابلًا للتكرار iterator ينتج عنه كائنات match لجميع حالات التطابق غير المتداخلة والناتجة من تطبيق التعبير النمطي المصرّف على السلسلة النصية المعطاة.

التابع regex.sub()

يبدل التابع حالات التطابق غير المتداخلة في أقصى اليسار -والناتجة عن تطبيق التعبير النمطي المصرّف على السلسلة النصية المعطاة- بسلسلة نصية أو بالقيمة المعادة من دالة.

التابع regex.subn()

يؤدي هذا التابع نفس عمل التابع regex.sub()‎ ولكنّه يعيد الناتج على هيئة صفّ (السلسلة الجديدة، عدد الاستبدالات المجراة).