تقنية

fnmatchcase في بايثون: هل ^ تنفي المحارف بين القوسين؟

نفي a وb بعلامة التعجب
الفئة المنفية. [1] [2]

علامة النفي تتبع صيغة النمط الذي تمرره. [1] [2]

الخلاصة السريعة

لا؛ استخدم ! للنفي في هذه الفئة من أنماط fnmatchcase. [1] [2]

  • [!ab] يستبعد المحرفين a وb. [1] [2]
  • [^ab] يطابق أحد ^ أو a أو b. [1] [2]
  • مع a، الناتجان False ثم True. [1] [2]
  • مع c، الناتجان True ثم False. [1] [2]
  • اختبرنا 3.12.14 بسلاسل دون ملفات. [1] [2]

المثال

from fnmatch import fnmatchcase as f
print(f('a','[!ab]'),f('a','[^ab]'))
print(f('c','[!ab]'),f('c','[^ab]'))

[1] [2]

صيغة المحارف البديلة

المصدر هنا يحول ! الأولى في الفئة إلى نفي عند بناء التعبير الداخلي، ويهرب ^ الأولى لتبقى محرفًا. لا تكتب نمط fnmatchcase بقواعد تعبير نمطي مباشر. [1] [2]

فئة تشمل علامة ^ حرفيًا
الفئة الأخرى. [1] [2]

حدود المطابقة

النمطان المعروضان يطابقان محرفًا واحدًا. السلسلة الفارغة وac لا تطابقان أيًا منهما. المطابقة هنا لا تثبت وجود ملف. [1] [2]

المراجع

  1. Python 3.12: fnmatch patterns
  2. CPython 3.12.14: fnmatch.py
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

للتوسع: بحث عن لغات البرمجة

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.