الدالة re.findall()
في بايثون
تعيد الدالة جميع حالات التطابق غير المتداخلة للنمط المطبق على السلسلة النصية المعطاة على هيئة قائمة من السلاسل النصية.
البنية العامة
re.findall(pattern, string, flags=0)
المعاملات
pattern
التعبير النمطي المستخدم لإجراء عملية المطابقة.
string
السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق.
flags
الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0
كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile
للمزيد من المعلومات.
القيمة المعادة
تعيد الدالة جميع حالات التطابق غير المتداخلة للنمط المطبق على السلسلة النصية المعطاة على هيئة قائمة من السلاسل النصية. يجري فحص السلسلة النصية من اليسار إلى اليمين، وتعاد حالات التطابق بحسب ترتيب وقوعها. إن كانت هناك مجموعة واحدة أو أكثر ضمن النمط المعطى، فستعيد الدالة قائمة من المجموعات، وتعيد قائمة من الصفوف إن تضمّن النمط أكثر من مجموعة واحدة، وتضاف التطابقات الفارغة إلى النتيجة النهائية.
ملاحظة
نظرًا لوجود بعض المحدّدات فإنّ المحرف الذي يأتي بعد حالة تطابق فارغة لن يكون مضمّنًا في حالة التطابق اللاحقة، لذا فإنّ الدالة findall(r'^|\w+', 'two words')
تعيد القائمة ['', 'wo', 'words']
(لاحظ عدم وجود الحرف 't'
).
سيتغير هذا السلوك في الإصدار 3.7 من بايثون.
انظر أيضًا
- الدالة
re.finditer()
: تعيد الدالة كائنًا قابلًا للتكرار iterator ينتج عنه كائناتmatch
لجميع حالات التطابق غير المتداخلة والناتجة من تطبيق التعبير النمطي المعطى على السلسلة النصية المعطاة. - التابع
regex.findall()
: يعيد التابع جميع حالات التطابق غير المتداخلة للنمط المصرّف والمطبّق على السلسلة النصية المعطاة على هيئة قائمة من السلاسل النصية. - التابع
regex.finditer()
: يعيد التابع كائنًا قابلًا للتكرار iterator ينتج عنه كائناتmatch
لجميع حالات التطابق غير المتداخلة والناتجة من تطبيق التعبير النمطي المصرّف على السلسلة النصية المعطاة.