ملحق 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.
مصادر أخرى لتعلم التعبيرات النمطية
دروس تفاعلية لتعلم التعبيرات النمطية: