التابع match.start()
في بايثون
يعيد هذا التابع موقع بداية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة.
البنية العامة
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'
انظر أيضًا
- التابع
match.end()
في بايثون.