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

تعريفها

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



بناؤها

search(pattern, string, flags=0)
	


باراميترات

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


قيمة الإرجاع

في حال تم إيجاد جزء أو أكثر في النص يتطابق مع التعبير النمطي, تقوم بإرجاع كائن من الكلاس Match يحتوي على معلومات أول مكان في هذا النص تطابق مع التعبير النمطي.
في حال لم يتم العثور على النص المراد البحث عنه ترجع None.


في المثال التالي التعبير النمطي ^Python.*learn* معناه: هل النص يبدأ بكلمة Python و ينتهي بكلمة learn.

مثال

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

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

# Match أصبح يمثل كائن من الكلاس result فهذا يعني أن learn و ينتهي بكلمة Python بما أن النص يبدأ بكلمة
result = re.search("^Python.*learn?", txt)

# if سيتم تنفيذ دالة الطباعة الموضوع في الجملة - Match لأنه يحتوي كائن - None لا يحتوي على القيمة result بما أن الكائن
if result:
    print("Yes, We found Match!")
else:
    print("No match found!")
		

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

Yes, We found Match!

الدورات

أدوات مساعدة

أقسام الموقع

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