بايثون الدالة findall()

تعريفها

تبحث في النص الذي نمرره له مكان الباراميتر string لترى ما إذا كان يتطابق أو فيه جزء يتطابق مع التعبير النمطي الذي نمرره لها مكان الباراميتر pattern.
في حال تم إيجاد جزء أو أكثر في النص يتطابق مع التعبير النمطي, ترجع list كل عنصر فيه يمثل الجزء الذي يتطابق مع التعبير النمطي.
في حال لم يتم إيجاد أي تطابق, ترجع list فارغ.



بناؤها

findall(pattern, string, flags=0)
	


باراميترات

  • مكان الباراميتر string نمرر الذي نريد البحث فيه.
  • مكان الباراميتر pattern نمرر تعبير نمطي يمثل النص المراد البحث عنه.


قيمة الإرجاع

في حال تم إيجاد جزء أو أكثر في النص يتطابق مع التعبير النمطي, ترجع list كل عنصر فيه يمثل الجزء الذي يتطابق مع التعبير النمطي.
في حال لم يتم إيجاد أي تطابق, ترجع list فارغ.


في المثال التالي التعبير النمطي \w*ea\w* معناه: هل يوجد كلمة إنجليزية تحتوي على الحرفين ea.

مثال

Test.py
# حتى نستطيع إستخدام الدوال الموجودة فيه re هنا قمنا بتضمين الموديول
import re

# هنا قمنا بتعريف النص الذي سنبحث فيه بعد قليل
txt = "Python is an easy language to learn"

# يحتوي على الكلمات التي تم إيجادها أصبح يمثل result فهذا يعني أن ea بما أن النص يوجد فيه أكثر من كلمة إنجليزية فيها الحرفين
result = re.findall("\w*ea\w*", txt)

# و من ثم طباعتها result الذي يقضي بالمرور على كل قيمة في الكائن if غير فارغ, سيتم تنفيذ محتوى الجملة يمثل كائن result بما أن
if result:
    for word in result:
        print(word)
else:
    print("No match found!")
		

سنحصل على النتيجة التالية عند تشغيل الملف Test.

easy
learn

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة