الفرق بين المراجعتين لصفحة: «Python/match»
لا ملخص تعديل |
لا ملخص تعديل |
||
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الكائن <code>match</code> في بايثون}}</noinclude> | <noinclude>{{DISPLAYTITLE:الكائن <code>match</code> في بايثون}}</noinclude> | ||
ينشأ الكائن <code>match</code> كنتيجة لتطبيق التابعين <code>[[Python/regex/match|regex.match()]]</code> و [[Python/regex/search|<code>regex.search()</code>]] على التعبير النمطي المصرّف. | |||
تمتلك كائنات match القيمة المنطقية True دائمًا، ولما | تمتلك كائنات <code>match</code> القيمة المنطقية <code>True</code> دائمًا، ولما كان التابعان <code>[[Python/regex/match|match()]]</code> و <code>[[Python/regex/search|search()]]</code> يعيدان القيمة <code>None</code> عندما لا يكون هناك حالات تطابق، يمكن التحقق من وجود التطابق باستخدام [[Python/if|عبارة <code>if</code>]] بسيطة:<syntaxhighlight lang="python3"> | ||
match = re.search(pattern, string) | match = re.search(pattern, string) | ||
if match: | if match: | ||
سطر 33: | سطر 34: | ||
== توابع الكائن <code>match</code> == | == توابع الكائن <code>match</code> == | ||
=== | === <code>[[Python/match/expand|match.expand()]]</code> === | ||
يجري هذا التابع عملية استبدال التسلسلات المسبوقة بالخط المائل العكسي بالاعتماد على قالب متمثّلٍ بسلسلة نصية. | يجري هذا التابع عملية استبدال التسلسلات المسبوقة بالخط المائل العكسي بالاعتماد على قالب متمثّلٍ بسلسلة نصية. | ||
=== | === <code>[[Python/match/group|match.group()]]</code> === | ||
يعيد التابع مجموعة فرعية واحدة أو أكثر من المجموعات الموجودة في كائن التطابق. | يعيد التابع مجموعة فرعية واحدة أو أكثر من المجموعات الموجودة في كائن التطابق. | ||
=== | === <code>[[Python/match/getitem|match.__getitem__()]]</code> === | ||
يؤدي هذا التابع عملًا مماثلًا للتابع <code>[[Python/match/group|match.group(g)]]</code>، ويسهّل عملية الوصول إلى المجاميع المفردة في تطابق معين باستخدام الصيغة <code>m[g]</code>. | يؤدي هذا التابع عملًا مماثلًا للتابع <code>[[Python/match/group|match.group(g)]]</code>، ويسهّل عملية الوصول إلى المجاميع المفردة في تطابق معين باستخدام الصيغة <code>m[g]</code>. | ||
=== | === <code>[[Python/match/groups|match.groups()]]</code> === | ||
يعيد التابع <nowiki/>[[Python/tuples|صفًّا]] يحتوي على جميع المجموعات الفرعية الموجودة في كائن التطابق. | يعيد التابع <nowiki/>[[Python/tuples|صفًّا]] يحتوي على جميع المجموعات الفرعية الموجودة في كائن التطابق. | ||
=== | === <code>[[Python/match/groupdict|match.groupdict()]]</code> === | ||
يعيد التابع <nowiki/>[[Python/tuples|قاموسًا]] يحتوي على جميع المجموعات الفرعية المسمّاة في كائن التطابق، وتستخدم أسماء المجموعات الفرعية كمفاتيح في القاموس. | يعيد التابع <nowiki/>[[Python/tuples|قاموسًا]] يحتوي على جميع المجموعات الفرعية المسمّاة في كائن التطابق، وتستخدم أسماء المجموعات الفرعية كمفاتيح في القاموس. | ||
=== | === <code>[[Python/match/start|match.start()]]</code> === | ||
يعيد هذا التابع موقع بداية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة. | يعيد هذا التابع موقع بداية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة. | ||
=== | === <code>[[Python/match/end|match.end()]]</code> === | ||
يعيد هذا التابع موقع نهاية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة. | يعيد هذا التابع موقع نهاية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة. | ||
=== | === [[Python/match/span|<code>match.span()</code>]] === | ||
يعيد التابع [[Python/tuples|صفًّا]] يتكون من عنصرين هما (القيمة المعادة من <code>[[Python/match/end|m.end(group)]]</code>, القيمة المعادة من<code>[[Python/match/start|m.start(group)]]</code>). | يعيد التابع [[Python/tuples|صفًّا]] يتكون من عنصرين هما (القيمة المعادة من <code>[[Python/match/end|m.end(group)]]</code>, القيمة المعادة من<code>[[Python/match/start|m.start(group)]]</code>). | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* [[Python/regex|الكائن regex | * [[Python/regex|الكائن regex]]: ينشأ كائن التعبير النمطي <code>regex</code> من تصريف التعبير النمطي بواسطة الدالة <code>[[Python/re/compile|re.compile()]]</code>، ويقدّم هذا الكائن مجموعة من الخصائص والتوابع التي يمكن من خلالها إجراء العديد من العمليات على التعابير النمطية المصرّفة. | ||
* [[Python/re|الوحدة re في | * [[Python/re|الوحدة re]]: تقّدم الوحدة <code>re</code> مجموعة من العمليات الخاصة بمطابقة التعابير النمطية (Regular Expressions) وهي مشابهة إلى حدّ كبير للعمليات الموجودة في لغة Perl. | ||
== مصادر == | == مصادر == | ||
سطر 66: | سطر 67: | ||
[[تصنيف: Python]] | [[تصنيف: Python]] | ||
[[تصنيف:Python Modules]] | |||
[[تصنيف: Python Regular Expressions]] | [[تصنيف: Python Regular Expressions]] | ||
[[تصنيف:Python match]] |
المراجعة الحالية بتاريخ 15:00، 18 يونيو 2018
ينشأ الكائن match
كنتيجة لتطبيق التابعين regex.match()
و regex.search()
على التعبير النمطي المصرّف.
تمتلك كائنات match
القيمة المنطقية True
دائمًا، ولما كان التابعان match()
و search()
يعيدان القيمة None
عندما لا يكون هناك حالات تطابق، يمكن التحقق من وجود التطابق باستخدام عبارة if
بسيطة:
match = re.search(pattern, string)
if match:
process(match)
تدعم كائنات match
التوابع والخصائص التالية:
خصائص الكائن match
match.pos
قيمة المعامل pos
الممرّر إلى التابعين regex.search()
و regex.match()
.
تمثّل هذه الخاصية الموقع الذي تبدأ فيه عملية البحث عن التطابقات داخل السلسلة النصية.
match.endpos
قيمة المعامل endpos
الممرّر إلى التابعين regex.search()
و regex.match()
.
تمثّل هذه الخاصية الموقع الذي تنتهي فيه عملية البحث عن التطابقات داخل السلسلة النصية.
match.lastindex
العدد الصحيح الذي يمثّل موقع آخر مجموعة التقاط مطابقة. تأخذ هذه الخاصية القيمة None
في حال عدم وجود أي مجموعة مطابقة. على سبيل المثال، إن طبقت التعابير (a)b
، و ((a)(b))
و ((ab))
على السلسلة النصية 'ab'
فإن lastindex == 1
، أما عند تطبيق التعبير (a)(b)
على السلسلة النصية ذاتها، فإنّ lastindex == 2
.
match.lastgroup
تحمل هذه الخاصية اسم آخر مجموعة التقاط مطابقة، وتحمل القيمة None
إن لم يكن للمجموعة اسم، أو في حال عدم وجود أي مجموعة مطابقة.
match.re
كائن التعبير النمطي الذي أنتج تابعه match()
أو search()
كائن التطابق هذا.
match.string
السلسلة النصية الممرّرة إلى التابع regex.search()
أو regex.match()
.
توابع الكائن match
match.expand()
يجري هذا التابع عملية استبدال التسلسلات المسبوقة بالخط المائل العكسي بالاعتماد على قالب متمثّلٍ بسلسلة نصية.
match.group()
يعيد التابع مجموعة فرعية واحدة أو أكثر من المجموعات الموجودة في كائن التطابق.
match.__getitem__()
يؤدي هذا التابع عملًا مماثلًا للتابع match.group(g)
، ويسهّل عملية الوصول إلى المجاميع المفردة في تطابق معين باستخدام الصيغة m[g]
.
match.groups()
يعيد التابع صفًّا يحتوي على جميع المجموعات الفرعية الموجودة في كائن التطابق.
match.groupdict()
يعيد التابع قاموسًا يحتوي على جميع المجموعات الفرعية المسمّاة في كائن التطابق، وتستخدم أسماء المجموعات الفرعية كمفاتيح في القاموس.
match.start()
يعيد هذا التابع موقع بداية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة.
match.end()
يعيد هذا التابع موقع نهاية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة.
match.span()
يعيد التابع صفًّا يتكون من عنصرين هما (القيمة المعادة من m.end(group)
, القيمة المعادة منm.start(group)
).
انظر أيضًا
- الكائن regex: ينشأ كائن التعبير النمطي
regex
من تصريف التعبير النمطي بواسطة الدالةre.compile()
، ويقدّم هذا الكائن مجموعة من الخصائص والتوابع التي يمكن من خلالها إجراء العديد من العمليات على التعابير النمطية المصرّفة.
- الوحدة re: تقّدم الوحدة
re
مجموعة من العمليات الخاصة بمطابقة التعابير النمطية (Regular Expressions) وهي مشابهة إلى حدّ كبير للعمليات الموجودة في لغة Perl.