الدالة re.finditer()‎ في بايثون‎

من موسوعة حسوب
< Python‏ | re
مراجعة 13:31، 18 يونيو 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

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

البنية العامة

re.finditer(pattern, string, flags=0)

المعاملات

pattern

التعبير النمطي المستخدم لإجراء عملية المطابقة.

string

السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق.

flags

الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0 كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile للمزيد من المعلومات.

القيمة المعادة

تعيد الدالة كائنًا قابلًا للتكرار iterator ينتج عنه كائنات match لجميع حالات التطابق غير المتداخلة والناتجة من تطبيق التعبير النمطي المعطى على السلسلة النصية المعطاة. تُفحص السلسلة النصية من اليسار إلى اليمين، وتعاد حالات التطابق بحسب ترتيب وقوعها، وتضاف حالات التطابق الفارغة إلى القائمة أيضًا. راجع الملاحظة الخاصة بالدالة findall()‎.

أمثلة

يبين المثال التالي طريقة استخدام الدالة والنتائج المعادة منها:

>>> import re
>>> iterator = re.finditer(r'\d+', '12 drummers drumming, 11 ... 10 ...')
>>> iterator
<callable_iterator object at 0x7f8de757ef98>
>>> for match in iterator:
...     print(match.span())
...     
... 
(0, 2)
(22, 24)
(29, 31)

انظر أيضًا

  • الدالة re.findall(): تعيد الدالة جميع حالات التطابق غير المتداخلة للنمط المطبق على السلسلة النصية المعطاة على هيئة قائمة من السلاسل النصية.
  • التابع regex.findall()‎: يعيد التابع جميع حالات التطابق غير المتداخلة للنمط المصرّف والمطبّق على السلسلة النصية المعطاة على هيئة قائمة من السلاسل النصية.
  • التابع regex.finditer()‎: يعيد التابع كائنًا قابلًا للتكرار iterator ينتج عنه كائنات match لجميع حالات التطابق غير المتداخلة والناتجة من تطبيق التعبير النمطي المصرّف على السلسلة النصية المعطاة.

مصادر