الفرق بين المراجعتين ل"Python/match/start"

من موسوعة حسوب
< Python‏ | match
اذهب إلى التنقل اذهب إلى البحث
سطر 34: سطر 34:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
*التابع [[Python/match/end|<code>match.end()</code>‎]] في بايثون.
+
*التابع [[Python/match/end|<code>match.end()</code>‎]] : يعيد هذا التابع موقع نهاية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة.
 +
*التابع <code>[[Python/match/span|match.span()‎]]</code>: يعيد التابع صفًّا يتكون من عنصرين هما (القيمة المعادة من <code>[[Python/match/end|m.end(group)]]‎</code>, القيمة المعادة من<code>m.start(group)‎</code>).
 
==مصادر==
 
==مصادر==
 
* <span> </span>[https://docs.python.org/3/library/re.html#re.match.start قسم match في صفحة Regular expression operations في توثيق بايثون الرسمي].
 
* <span> </span>[https://docs.python.org/3/library/re.html#re.match.start قسم match في صفحة Regular expression operations في توثيق بايثون الرسمي].
 
[[تصنيف:Python]]
 
[[تصنيف:Python]]
 
[[تصنيف:Python Regular Expressions]]
 
[[تصنيف:Python Regular Expressions]]
 +
[[تصنيف:Python Method]]

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


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

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

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)‎).

مصادر