بايثونالدالة finditer()
تعريفها
تبحث في النص الذي نمرره لها مكان الباراميتر string
لترى ما إذا كان يتطابق أو فيه جزء يتطابق مع التعبير النمطي الذي نمرره لها مكان الباراميتر pattern
.
بناؤها
finditer(pattern, string, flags=0)
باراميترات
- مكان الباراميتر
string
نمرر النص الذي نريد البحث فيه. - مكان الباراميتر
pattern
نمرر تعبير نمطي يمثل النص المراد البحث عنه.
قيمة الإرجاع
في حال تم إيجاد جزء أو أكثر في النص يتطابق مع التعبير النمطي، ترجع iterator
كل عنصر فيه عبارة عن كائن Match
يمثل الجزء الذي يتطابق مع التعبير النمطي.
في حال لم يتم إيجاد أي تطابق، ترجع list
فارغ.
في المثال التالي التعبير النمطي \w*ea\w*
معناه: هل يوجد كلمة إنجليزية تحتوي على الحرفين ea
.
مثال
# حتى نستطيع إستخدام الدوال الموجودة فيه re هنا قمنا بتضمين الموديول import re # هنا قمنا بتعريف النص الذي سنبحث فيه بعد قليل txt = "Python is an easy language to learn" # result فهذا يعني أن ea بما أن النص يوجد فيه أكثر من كلمة إنجليزية فيها الحرفين # فيه كل تفاصيل الكلمة التي تم إيجادها Match كل عنصر فيه يمثل كائن iterator أصبح يمثل result = re.finditer("\w*ea\w*", txt) # و من ثم طباعتها result الذي يقضي بالمرور على كل قيمة في الكائن if غير فارغ، سيتم تنفيذ محتوى الجملة iterator يمثل كائن result بما أن if result: for word in result: print(word) else: print("No match found!")
النتيجة
<_sre.SRE_Match object; span=(30, 35), Match='learn'>