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

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


يعيد هذا التابع موقع بداية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة.
يعيد هذا التابع موقع بداية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة.
 
==البنية العامة==
== البنية العامة ==
 
<syntaxhighlight lang="python3">
<syntaxhighlight lang="python3">
match.start([group])
match.start([group])
</syntaxhighlight>
</syntaxhighlight>
==المعاملات==
===<code>group</code>===
المجموعة التي سيستخدمها التابع لمطابقة السلسلة النصية معها. يأخذ المعامل <code>group</code> القيمة الافتراضية <code>0</code> (أي أن التطابق حصل في السلسلة النصية الفرعية بأكملها).
==القيمة المعادة==
يعيد التابع موقع بداية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة. ويعيد التابع القيمة ‎<code>-1</code> إن كانت المجموعة موجودة ولكنّها لا تساهم في حالة التطابق.


== المعاملات ==
لو فرضنا وجود كائن تطابق <code>m</code> ومجموعة <code>g</code> تساهم في حالة التطابق، فإن السلسلة الفرعية المطابقة بواسطة المجموعة <code>g</code> (تكافئ التابع <code>[[Python/match/group|m.group(g)]]</code>‎) هي:<syntaxhighlight lang="python3">
 
=== <code>group</code> ===
 
المجموعة التي سيستخدمها التابع لمطابقة السلسلة النصية معها. يأخذ المعامل group القيمة الافتراضية 0 (أي أن التطابق حصل في السلسلة النصية الفرعية بأكملها).
 
== القيمة المعادة ==
 
يعيد التابع موقع بداية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة. ويعيد التابع القيمة ‎-1 إن كانت المجموعة موجودة ولكنّها لا تساهم في حالة التطابق.
 
لو فرضنا وجود كائن تطابق m ومجموعة g تساهم في حالة التطابق، فإن السلسلة الفرعية المطابقة بواسطة المجموعة g (تكافئ التابع m.group(g)‎) هي:
m.string[m.start(g):m.end(g)]
m.string[m.start(g):m.end(g)]
 
</syntaxhighlight>لاحظ أنّ القيمة المعادة من التابع <code>m.start(group)</code>‎ ستكون مساوية للنتيجة المعادة من <code>[[Python/match/end|m.end(group)]]</code>‎ إن طابقت المجموعة سلسلة نصية فارغة.
لاحظ أنّ القيمة المعادة من التابع m.start(group)‎ ستكون مساوية للنتيجة المعادة من m.end(group)‎ إن طابقت المجموعة سلسلة نصية فارغة.
==أمثلة==
 
يبين المثال التالي النتائج المعادة من هذا التابع:<syntaxhighlight lang="python3">
== أمثلة ==
 
يبين المثال التالي النتائج المعادة من هذا التابع:
 
<syntaxhighlight lang="python3">
>>> m = re.search('b(c?)', 'cba')
>>> m = re.search('b(c?)', 'cba')
>>> m.start(0)
>>> m.start(0)
1
1
>>> m.end(0)
2
>>> m.start(1)
>>> m.start(1)
2
>>> m.end(1)
2
2
>>> m.start(2)
>>> m.start(2)
سطر 43: سطر 27:
     m.start(2)
     m.start(2)
IndexError: no such group
IndexError: no such group
</syntaxhighlight>
</syntaxhighlight>مثال آخر يجري فيه حذف عبارة <code>'remove_this'</code> من عنوان بريد إلكتروني:<syntaxhighlight lang="python3">
 
مثال آخر يجري فيه حذف عبارة 'remove_this' من عنوان بريد إلكتروني:
 
<syntaxhighlight lang="python3">
>>> email = "tony@tiremove_thisger.net"
>>> email = "tony@tiremove_thisger.net"
>>> m = re.search("remove_this", email)
>>> m = re.search("remove_this", email)
سطر 53: سطر 33:
'tony@tiger.net'
'tony@tiger.net'
</syntaxhighlight>
</syntaxhighlight>
 
==انظر أيضًا==
== انظر أيضًا ==
*التابع [[Python/match/end|<code>match.end()</code>‎]] في بايثون.
 
==مصادر==
* التابع [[Python/match/end|<code>match.end()</code>‎]] في بايثون.
* <span> </span>[https://docs.python.org/3/library/re.html#re.match.start قسم match في صفحة Regular expression operations في توثيق بايثون الرسمي].
 
== مصادر ==
 
* [https://docs.python.org/3/library/re.html#re.match.start قسم match في صفحة Regular expression operations في توثيق بايثون الرسمي].
 
[[تصنيف:Python]]
[[تصنيف:Python]]
[[تصنيف:Python Regular Expressions]]
[[تصنيف:Python Regular Expressions]]

مراجعة 12:03، 5 يونيو 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'

انظر أيضًا

مصادر