0Pricing
Python Academy · درس

أساسيات التعبيرات النمطية

تعلّم المحارف الوصفية وفئات المحارف والمكررات والمثبتات

أساسيات التعبيرات النمطية درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.

مقدمة

التعبيرات النمطية هي أنماط لمطابقة النصوص. وتوفر وحدة re في Python الأدوات اللازمة لاستخدامها.

ما التعبير النمطي؟

التعبير النمطي هو تسلسل من المحارف يشكّل نمط بحث. يطابق `r'\d+'` رقمًا واحدًا أو أكثر.
import re
print(re.findall(r'\d+', 'abc 123 def 456'))

المحارف الحرفية

تطابق معظم المحارف نفسها: يطابق `r'cat'` السلسلة النصية 'cat' حرفيًا.
import re
print(re.search(r'cat', 'the cat sat'))

الرمز البديل النقطة (.)

تطابق النقطة . أي محرف باستثناء محرف السطر الجديد. يطابق `r'c.t'` القيم 'cat' و'cut' و'c9t'.
import re
print(re.findall(r'c.t', 'cat cut c9t caaat'))

فئات المحارف

تطابق [aeiou] أي حرف علّة. وتطابق [a-z] أي حرف صغير. وتطابق [^abc] أي شيء ليس ضمن {a,b,c}.
import re
print(re.findall(r'[aeiou]', 'hello world'))

محددات التكرار

* صفر أو أكثر. + واحد أو أكثر. ? صفر أو واحد. {3} ثلاثة بالضبط. {2,4} من 2 إلى 4.
import re
print(re.findall(r'\d{2,4}', '1 12 123 1234 12345'))

المثبتات

يطابق ^ بداية السلسلة. ويطابق $ نهايتها. ويطابق \b حدّ كلمة.
import re
print(re.findall(r'^\w+', 'hello world'))
print(re.findall(r'\b\w{4}\b', 'cat cats come home'))

الفئات المختصرة

\d = رقم [0-9]. \w = محرف كلمة [a-zA-Z0-9_]. \s = مسافة بيضاء. والإصدارات ذات الأحرف الكبيرة هي النفي: \D و\W و\S.
import re
print(re.findall(r'\w+', 'hello, world!'))

التناوب |

يطابق `r'cat|dog'` إما 'cat' أو 'dog'. وتجمع الأقواس: يطابق `r'(cat|dog)s'` إما 'cats' أو 'dogs'.
import re
print(re.findall(r'cat|dog', 'I have a cat and a dog'))

الجشع مقابل الكسل

إن `.*` جشع — إذ يطابق أكبر قدر ممكن. أما `.*?` فكسول — إذ يطابق أقل قدر ممكن.
import re
html = '<b>bold</b> and <i>italic</i>'
print(re.findall(r'<.*>', html))   # greedy
print(re.findall(r'<.*?>', html))  # lazy

السلاسل الخام للتعبيرات النمطية

استخدم دائمًا `r'...'` لأنماط التعبيرات النمطية لتجنب تهريب الشرطتين المائلتين المزدوج: استخدم `r'\d'` بدلًا من `'\\d'`.
import re
# Without r: '\\d+' is needed
# With r:    '\d+' is sufficient
print(re.findall(r'\d+', 'abc123'))

تحقق سريع

ما الذي يطابقه المثبت \b في تعبير نمطي؟

مراجعة

أساسيات التعبيرات النمطية: . (أي محرف)، [] (فئة)، * + ? {} (محددات التكرار)، ^ $ \b (مثبتات)، \d \w \s (اختصارات)، | (تناوب)، والجشع مقابل الكسل. استخدم دائمًا سلاسل `r''`.

واصل التقدم

أحسنتم! الدرس التالي في انتظاركم.

الأسئلة الشائعة

هل درس «أساسيات التعبيرات النمطية» مجاني؟

نعم — نص درس «أساسيات التعبيرات النمطية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.

ماذا ستتعلم في «أساسيات التعبيرات النمطية»؟

تعلّم المحارف الوصفية وفئات المحارف والمكررات والمثبتات تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟

لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «أساسيات التعبيرات النمطية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟

نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أساسيات التعبيرات النمطية
  2. استخدام re.match وre.search وre.findall
  3. المجموعات والالتقاطات المسماة
  4. re.sub والعلامات والأنماط المجمّعة
← العودة إلى Python Academy