التابع match.start()‎ في بايثون

من موسوعة حسوب
< Python‏ | match
مراجعة 11:29، 5 يونيو 2018 بواسطة Mohammed Taher (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>match.start()‎</code> في بايثون}}</noinclude> يعيد هذا التابع موقع بداية السلسلة ا...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث


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

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

match.start([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.start(0)
1
>>> m.end(0)
2
>>> m.start(1)
2
>>> m.end(1)
2
>>> m.start(2)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    m.start(2)
IndexError: no such group

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

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

انظر أيضًا

مصادر