الفرق بين المراجعتين ل"Python/match/start"
(أنشأ الصفحة ب'<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"> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
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.start(1) | >>> m.start(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)
).