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

من موسوعة حسوب
< Python‏ | regex
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>regex.findall()‎</code> في بايثون‎}}</noinclude> يعيد التابع جميع حالات التطابق غير...'
 
لا ملخص تعديل
سطر 22: سطر 22:
== القيمة المعادة ==
== القيمة المعادة ==
يعيد التابع جميع حالات التطابق غير المتداخلة للنمط المطبق على السلسلة النصية المعطاة على هيئة قائمة من السلاسل النصية.  
يعيد التابع جميع حالات التطابق غير المتداخلة للنمط المطبق على السلسلة النصية المعطاة على هيئة قائمة من السلاسل النصية.  
هذا التابع مطابق للدالة re.findall()‎ ويستخدم التعبير النمطي المصرّف، ولكنّه يختلف عن الدالة في كونه يأخذ معاملين اختياريين هما pos و endpos والذي يحدّدان بداية ونهاية عملية البحث كما هو الحال في التابع regex.search()‎.


<syntaxhighlight lang="python3">
هذا التابع مطابق للدالة <code>[[Python/re/findall|re.findall()]]</code>‎ ويستخدم التعبير النمطي المصرّف، ولكنّه يختلف عن الدالة في كونه يأخذ معاملين اختياريين هما <code>pos</code> و <code>endpos</code> والذي يحدّدان بداية ونهاية عملية البحث كما هو الحال في التابع <code>[[Python/regex/search|regex.search()‎]]</code>.<syntaxhighlight lang="python3">
>>> p = re.compile(r'\d+')
>>> p = re.compile(r'\d+')
>>> p.findall('12 drummers drumming, 11 pipers piping, 10 lords a-leaping')
>>> p.findall('12 drummers drumming, 11 pipers piping, 10 lords a-leaping')
['12', '11', '10']
['12', '11', '10']
</syntaxhighlight>
</syntaxhighlight>
== انظر أيضًا ==
== انظر أيضًا ==
* الدالة <code>[[Python/re/findall|re.findall()]]</code>‎ في بايثون.
* الدالة <code>[[Python/re/findall|re.findall()]]</code>‎ في بايثون.

مراجعة 21:42، 2 يونيو 2018

يعيد التابع جميع حالات التطابق غير المتداخلة للنمط المصرّف والمطبّق على السلسلة النصية المعطاة على هيئة قائمة من السلاسل النصية.

البنية العامة

regex.findall(string[, pos[, endpos]])

المعاملات

string

السلسلة النصية التي سيبحث فيها التابع عن حالات التطابق.

pos

يحدّد هذا المعامل الاختياري الموقع الذي يبدأ منه التابع البحث في السلسلة النصية، ويأخذ القيمة الافتراضية 0. إن تحديد موقع بدء عملية البحث ليس مطابقًا تمامًا لعملية تقطيع السلسلة النصية، فالمحرف '^' يطابق في بداية السلسلة النصية وفي المواقع التي تأتي بعد محرف السطر الجديد، ولكن ليس بالضرورة في الموقع الذي يبدأ التابع منه عملية البحث.

endpos

يحدّد هذا المعامل الاختياري الموقع الذي ينتهي عنده التابع من البحث في السلسة النصية، وهذا يعني أنّ عملية البحث عن التطابقات ستجري على المحارف التي تقع ضمن النطاق الذي يبدأ بالموقع pos وينتهي بالموقع endpos - 1. إن كانت قيمة endpos أقل من قيمة pos فلن يكون هناك أي حالة تطابق.

القيمة المعادة

يعيد التابع جميع حالات التطابق غير المتداخلة للنمط المطبق على السلسلة النصية المعطاة على هيئة قائمة من السلاسل النصية.

هذا التابع مطابق للدالة re.findall()‎ ويستخدم التعبير النمطي المصرّف، ولكنّه يختلف عن الدالة في كونه يأخذ معاملين اختياريين هما pos و endpos والذي يحدّدان بداية ونهاية عملية البحث كما هو الحال في التابع regex.search()‎.

>>> p = re.compile(r'\d+')
>>> p.findall('12 drummers drumming, 11 pipers piping, 10 lords a-leaping')
['12', '11', '10']

انظر أيضًا

مصادر