الفرق بين المراجعتين لصفحة: «Python/re/match»

من موسوعة حسوب
< Python‏ | re
لا ملخص تعديل
لا ملخص تعديل
 
سطر 26: سطر 26:
لاحظ أنّه حتى عند استخدام الراية <code>MULTILINE</code>، فإنّ الدالة <code>re.match()</code>‎ تطابق فقط عند بداية السلسلة النصية وليس عند بداية كل سطر فيها.
لاحظ أنّه حتى عند استخدام الراية <code>MULTILINE</code>، فإنّ الدالة <code>re.match()</code>‎ تطابق فقط عند بداية السلسلة النصية وليس عند بداية كل سطر فيها.


إن كان المطلوب العثور على حالات التطابق في أي مكان ضمن السلسلة النصية، استخدم الدالة <code>[[Python/re/search|re.search()]]</code>‎ عوضًا عن هذه الدالة. (انظر أيضًا الفرق بين <code>search()</code>‎ و <code>match()</code>‎).
إن كان المطلوب العثور على حالات التطابق في أي مكان ضمن السلسلة النصية، استخدم الدالة <code>[[Python/re/search|re.search()]]</code>‎ عوضًا عن هذه الدالة. (انظر أيضًا [[Python/re#.D8.A7.D9.84.D8.AA.D8.A7.D8.A8.D8.B9 search.28.29.E2.80.8E .D9.85.D9.82.D8.A7.D8.A8.D9.84 .D8.A7.D9.84.D8.AA.D8.A7.D8.A8.D8.B9 match.28.29.E2.80.8E|الفرق بين <code>search()</code>‎ و <code>match()</code>‎]]).
== أمثلة ==
== أمثلة ==
يبين المثال التالي طريقة استخدام الدالة والنتائج المعادة منها:
يبين المثال التالي طريقة استخدام الدالة والنتائج المعادة منها:

المراجعة الحالية بتاريخ 06:57، 18 يونيو 2018

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

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

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

المعاملات

pattern

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

string

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

flags

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

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

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

ملاحظة

لاحظ أنّه حتى عند استخدام الراية MULTILINE، فإنّ الدالة re.match()‎ تطابق فقط عند بداية السلسلة النصية وليس عند بداية كل سطر فيها.

إن كان المطلوب العثور على حالات التطابق في أي مكان ضمن السلسلة النصية، استخدم الدالة re.search()‎ عوضًا عن هذه الدالة. (انظر أيضًا الفرق بين search()‎ و match()).

أمثلة

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

>>> print(re.match(r'From\s+', 'Fromage amk'))
None
>>> re.match(r'From\s+', 'From amk Thu May 14 19:12:10 1998')  
<_sre.SRE_Match object; span=(0, 5), match='From '>

انظر أيضًا

  • التابع regex.match()‎: يفحص هذا التابع بداية السلسلة النصية المعطاة بحثًا عن حالة تطابق مع التعبير النمطي المصرّف، ويعيد كائن التطابق المقابل.
  • الدالة re.compile(): تصرّف الدالة التعبير النمطي إلى كائن تعبير نمطي regex يمكن استخدامه للمطابقة بواسطة توابعه الخاصّة match()‎ و search() وغيرها..
  • الدالة re.search()‎: تفحص الدالة السلسلة النصية بحثًا عن أول موقع يحصل فيه تطابق مع التعبير النمطي المعطى، وتعيد كائن match المقابل.

مصادر