ملحق M — التعبير النمطي

إليك جدول مختارات من إجراءات التعبير النمطي وكائناته:

التعبير النمطي (re)

الإجراء عمله
re.match(pattern, string, flags=0) -> Match or None مطابقة النمط في بداية السلسلة النصية.
pattern: النمط المراد مطابقته.
string: السلسلة النصية المراد البحث فيها.
flags: أعلام اختيارية لتعديل السلوك.
re.search(pattern, string, flags=0) -> Match or None البحث عن أول تطابق للنمط في السلسلة النصية.
pattern: النمط المراد مطابقته.
string: السلسلة النصية المراد البحث فيها.
flags: أعلام اختيارية لتعديل السلوك.
re.findall(pattern, string, flags=0) -> list إنشاء قائمة من جميع التطابقات للنمط في السلسلة النصية.
pattern: النمط المراد مطابقته.
string: السلسلة النصية المراد البحث فيها.
flags: أعلام اختيارية لتعديل السلوك.
re.finditer(pattern, string, flags=0) -> Iterator[Match[str]] إنشاء مكرر لجميع التطابقات للنمط في السلسلة النصية.
pattern: النمط المراد مطابقته.
string: السلسلة النصية المراد البحث فيها.
flags: أعلام اختيارية لتعديل السلوك.

المطابق (Match)

الفعل عمله
match.group([group]) -> str إرجاع النص المطابق أو مجموعة فرعية منه.
group: رقم المجموعة المراد إرجاعها (افتراضيًا المجموعة الكاملة).
match.groups(default=None) -> tuple إرجاع جميع المجموعات الفرعية كنصوص.
default: القيمة الافتراضية للمجموعات غير المطابقة.
match.groupdict(default=None) -> dict إرجاع القاموس الذي يحتوي على المجموعات المسماة.
default: القيمة الافتراضية للمجموعات غير المطابقة.
match.start([group]) -> int إرجاع موضع بداية النص المطابق أو مجموعة فرعية منه.
group: رقم المجموعة المراد إرجاع موضع بدايتها (اختياري).
match.end([group]) -> int إرجاع موضع نهاية النص المطابق أو مجموعة فرعية منه.
group: رقم المجموعة المراد إرجاع موضع نهايتها (اختياري).
match.span([group]) -> tuple إرجاع موضع البداية والنهاية للنص المطابق أو مجموعة فرعية منه.
group: رقم المجموعة المراد إرجاع مواضعها (اختياري).
match.pos -> int موضع بداية البحث في السلسلة النصية.
match.endpos -> int موضع نهاية البحث في السلسلة النصية.
match.lastindex -> int or None رقم آخر مجموعة فرعية مطابقة أو None إذا لم توجد.
match.lastgroup -> str or None اسم آخر مجموعة فرعية مطابقة أو None إذا لم توجد.
match.re -> Pattern كائن النمط المستخدم في المطابقة.
match.string -> str السلسلة النصية التي تم مطابقتها.

تحرير التعبيرات النمطية

ننصح باستعمال أدوات تحرير التعبير النمطي مثل: regex101 فهي أفضل بكثير من كتابته دون أداة.

  • في القائمة الجانبية اختر نكهة (Flavour) Python
  • في الحقل الأول تكتب التعبير النمطي
  • في الصندوق الكبير تضع النص الذي تريد مطابقته

وكذلك يوجد محرر آخر مثل regexr وفي القائمة الجانبية تجد Community Patterns حيث تجد فهرس لأنماط نصية شاركها المبرمجون الآخرون. أو في: regexHQ.

وهكذا فإنك تعدل على النمط وتزيد في النصوص، حتى تصل إلى أفضل نمط لتنسخه وتضعه عندك في البرنامج.

وهذا المحرر يستعمل نفس محرك: pythex.

مصادر أخرى لتعلم التعبيرات النمطية

دروس تفاعلية لتعلم التعبيرات النمطية: