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

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


لاحظ أنّ القيمة المعادة من التابع <code>m.start(group)</code>‎ ستكون مساوية للنتيجة المعادة من <code>[[Python/match/end|m.end(group)]]</code>‎ إن طابقت المجموعة سلسلة نصية فارغة.
لاحظ أنّ القيمة المعادة من التابع <code>m.start(group)</code>‎ ستكون مساوية للنتيجة المعادة من <code>m.end(group)</code>‎ إن طابقت المجموعة سلسلة نصية فارغة.
==أمثلة==
==أمثلة==
يبين المثال التالي النتائج المعادة من هذا التابع:
يبين المثال التالي النتائج المعادة من هذا التابع:

مراجعة 12:07، 5 يونيو 2018


يعيد هذا التابع موقع نهاية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة.

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

match.end([group])

المعاملات

group

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

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

يعيد التابع موقع بداية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة. ويعيد التابع القيمة ‎-1 إن كانت المجموعة موجودة ولكنّها لا تساهم في حالة التطابق.

لو فرضنا وجود كائن تطابق m ومجموعة g تساهم في حالة التطابق، فإن السلسلة الفرعية المطابقة بواسطة المجموعة g (تكافئ التابع m.group(g)‎) هي:

m.string[m.start(g):m.end(g)]

لاحظ أنّ القيمة المعادة من التابع m.start(group)‎ ستكون مساوية للنتيجة المعادة من m.end(group)‎ إن طابقت المجموعة سلسلة نصية فارغة.

أمثلة

يبين المثال التالي النتائج المعادة من هذا التابع:

>>> m = re.search('b(c?)', 'cba')
>>> m.end(0)
2
>>> m.end(1)
2

مثال آخر يجري فيه حذف عبارة 'remove_this' من عنوان بريد إلكتروني:

>>> email = "tony@tiremove_thisger.net"
>>> m = re.search("remove_this", email)
>>> email[:m.start()] + email[m.end():]
'tony@tiger.net'

انظر أيضًا

مصادر