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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'تمتلك كائنات match القيمة المنطقية True دائمًا، ولما كانت الدالتان <code>match()‎</code> و <code>[...')
 
سطر 1: سطر 1:
 +
<noinclude>{{DISPLAYTITLE:الكائن <code>match</code> في بايثون}}</noinclude>
 +
 
تمتلك كائنات match القيمة المنطقية True دائمًا، ولما كانت الدالتان <code>[[Python/re/match|match()‎]]</code> و <code>[[Python/re/search|search()]]‎</code> تعيدان القيمة <code>None</code> عندما لا يكون هناك حالات تطابق، يمكن التحقق من وجود التطابق باستخدام [[Python/if|عبارة <code>if</code>]] بسيطة:<syntaxhighlight lang="python3">
 
تمتلك كائنات match القيمة المنطقية True دائمًا، ولما كانت الدالتان <code>[[Python/re/match|match()‎]]</code> و <code>[[Python/re/search|search()]]‎</code> تعيدان القيمة <code>None</code> عندما لا يكون هناك حالات تطابق، يمكن التحقق من وجود التطابق باستخدام [[Python/if|عبارة <code>if</code>]] بسيطة:<syntaxhighlight lang="python3">
 
match = re.search(pattern, string)
 
match = re.search(pattern, string)
سطر 57: سطر 59:
 
== مصادر ==
 
== مصادر ==
 
* [https://docs.python.org/3/library/re.html#module-re صفحة Regular expression operations في توثيق بايثون الرسمي.]
 
* [https://docs.python.org/3/library/re.html#module-re صفحة Regular expression operations في توثيق بايثون الرسمي.]
 +
 +
[[تصنيف: Python]]
 +
[[تصنيف: Python Regular Expressions]]

مراجعة 20:13، 5 يونيو 2018


تمتلك كائنات 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)).

مصادر