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

من موسوعة حسوب
< Python‏ | match
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>match.start()‎</code> في بايثون}}</noinclude> يعيد هذا التابع موقع بداية السلسلة ا...')
 
 
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:التابع <code>match.start()‎</code> في بايثون}}</noinclude>
 
<noinclude>{{DISPLAYTITLE:التابع <code>match.start()‎</code> في بايثون}}</noinclude>
 
 
يعيد هذا التابع موقع بداية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة.
 
يعيد هذا التابع موقع بداية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة.
 
+
==البنية العامة==
== البنية العامة ==
 
 
 
 
<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: سطر 26:
 
     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: سطر 32:
 
'tony@tiger.net'
 
'tony@tiger.net'
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
==انظر أيضًا==
== انظر أيضًا ==
+
*التابع [[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>).
* التابع [[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 Method]]
 
[[تصنيف:Python Regular Expressions]]
 
[[تصنيف:Python Regular Expressions]]
 +
[[تصنيف:Python match]]

المراجعة الحالية بتاريخ 14:42، 18 يونيو 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)‎).

مصادر