التابع 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.start(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()
: يعيد هذا التابع موقع نهاية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة. - التابع
match.span()
: يعيد التابع صفًّا يتكون من عنصرين هما (القيمة المعادة منm.end(group)
, القيمة المعادة منm.start(group)
).