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

من موسوعة حسوب
< Python‏ | regex
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>regex.fullmatch()‎</code> في بايثون‎}}</noinclude> يتحقّق هذا التابع من تطابق التعبي...'
 
لا ملخص تعديل
سطر 21: سطر 21:


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


ملاحظة: هذه الدالة متوفّرة في الإصدار 3.4 من اللغة وما بعده.
ملاحظة: هذه الدالة متوفّرة في الإصدار 3.4 من اللغة وما بعده.
سطر 27: سطر 27:
== أمثلة ==
== أمثلة ==


في المثال التالي لا توجد حالة تطابق مع السلسلة "dog" لأنّ الحرف "o" لم يرد في بداية الكلمة، ولا يوجد تطابق في مع السلسلة "ogre" لأنّها لا تطابق بأكملها التعبير النمطي المعطى، ولكن تظهر حالة تطابق ضمن الحدود التي جرى تعيينها بتمرير القيم 1 و 3 إلى المعاملين pos و endpos على التوالي.
في المثال التالي لا توجد حالة تطابق مع السلسلة <code>"dog"</code> لأنّ الحرف <code>"o"</code> لم يرد في بداية الكلمة، ولا يوجد تطابق في مع السلسلة <code>"ogre"</code> لأنّها لا تطابق بأكملها التعبير النمطي المعطى، ولكن تظهر حالة تطابق ضمن الحدود التي جرى تعيينها بتمرير القيم <code>1</code> و <code>3</code> إلى المعاملين <code>pos</code> و <code>endpos</code> على التوالي.


<syntaxhighlight lang="python3">
<syntaxhighlight lang="python3">
سطر 38: سطر 38:


== انظر أيضًا ==
== انظر أيضًا ==
* الدالة <code>[[Python/re/search|re.search()]]‎</code> في بايثون.
* الدالة <code>[[Python/re/fullmatch|re.fullmatch()]]‎</code> في بايثون.


== مصادر ==
== مصادر ==

مراجعة 12:09، 2 يونيو 2018

يتحقّق هذا التابع من تطابق التعبير النمطي مع السلسلة النصية المعطاة كاملة، ويعيد كائن التطابق المقابل.

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

regex.fullmatch(string[, pos[, endpos]])

المعاملات

string

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

pos

يحدّد هذا المعامل الاختياري الموقع الذي يبدأ منه التابع البحث في السلسلة النصية، ويأخذ القيمة الافتراضية 0. إن تحديد موقع بدء عملية البحث ليس مطابقًا تمامًا لعملية تقطيع السلسلة النصية، فالمحرف '^' يطابق في بداية السلسلة النصية وفي المواقع التي تأتي بعد محرف السطر الجديد، ولكن ليس بالضرورة في الموقع الذي يبدأ التابع منه عملية البحث.

endpos

يحدّد هذا المعامل الاختياري الموقع الذي ينتهي عنده التابع من البحث في السلسة النصية، وهذا يعني أنّ عملية البحث عن التطابقات ستجري على المحارف التي تقع ضمن النطاق الذي يبدأ بالموقع pos وينتهي بالموقع endpos - 1. إن كانت قيمة endpos أقل من قيمة pos فلن يكون هناك أي حالة تطابق.

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

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

ملاحظة: هذه الدالة متوفّرة في الإصدار 3.4 من اللغة وما بعده.

أمثلة

في المثال التالي لا توجد حالة تطابق مع السلسلة "dog" لأنّ الحرف "o" لم يرد في بداية الكلمة، ولا يوجد تطابق في مع السلسلة "ogre" لأنّها لا تطابق بأكملها التعبير النمطي المعطى، ولكن تظهر حالة تطابق ضمن الحدود التي جرى تعيينها بتمرير القيم 1 و 3 إلى المعاملين pos و endpos على التوالي.

>>> pattern = re.compile("o[gh]")
>>> pattern.fullmatch("dog")
>>> pattern.fullmatch("ogre")
>>> pattern.fullmatch("doggie", 1, 3)
<_sre.SRE_Match object; span=(1, 3), match='og'>

انظر أيضًا

مصادر