دروس الوحدة (1/4)
الأنماط الحرفية
في التعبير العادي، الأحرف الأبجدية الرقمية "العادية" تتطابق ببساطة مع نفسها: اكتب
ciao كنمط وسيبحث المحرك عن السلسلة الفرعية ciao بالداخل
النص. لا شيء أكثر سحرًا: مسح من اليسار إلى اليمين حسب الموضع.
Pattern: ciao
Sample: Buongiorno, ciao mondo! Ti dico anche ciao.
^^^^ ^^^^تحمل المباراة دائمًا معلومتين أساسيتين:
- النص المطابق (هنا
ciao)؛ - الفهرس (الإزاحة المستندة إلى 0) حيث يبدأ في العينة (هنا
12و38).
بشكل افتراضي، يكون التعبير العادي حساسًا لحالة الأحرف: ciao لا يتطابق مع Ciao أو
CIAO. لتجاهل حالة الأحرف، قم بإضافة العلامة i (غير حساسة لحالة الأحرف).
كيف يعمل المحرك
يقوم محرك regex بفحص النص حرفًا واحدًا في كل مرة. عند البحث عن النمط الحرفي ciao، فإنه يبحث أولاً عن الحرف c. بمجرد العثور عليه، فإنه يتحقق مما إذا كان الحرف التالي هو i، ثم a، وأخيرًا o. إذا فشلت أي من هذه التطابقات، يتراجع المحرك إلى موضع البداية التالي ويبدأ في البحث عن c مرة أخرى.
الأنماط الحرفية وعلامة g
بدون العلم g (العالمي)، يتوقف المحرك عند المباراة الأولى التي يجدها ويتوقف. مع
g يستمر ويجمع كل مطابقة لاحقة حتى نهاية السلسلة. في هذه الدورة سنقوم
دائمًا ما يتم تشغيل g: نريد أن نرى كل تطابق موجود في النص.
جربه
ابحث عن كل تكرار دقيق (حساس لحالة الأحرف) للكلمة `ciao` في العينة. تلميح: تذكر علامة "g".
إظهار التلميح
النمط هو الكلمة نفسها. يجب ألا تتطابق الأحرف الكبيرة مع: no i flag.
الحل متاح بعد 3 من المحاولات
تمرين المراجعة
ابحث عن كل تكرار للكلمة "errore" في النص، متجاهلاً الأحرف الكبيرة/الصغيرة.
إظهار التلميح
نفس كلمة النمط، ولكن أضف العلامة i (غير حساسة لحالة الأحرف) إلى جانب g.
الحل متاح بعد 3 من المحاولات
التحدي الإضافي
حدد وجمع كل التكرارات الدقيقة للكلمة `تحذير` (أحرف كبيرة، حساسة لحالة الأحرف) في نموذج نص السجل.
إظهار التلميح
ابحث مباشرة عن السلسلة الحرفية WARNING، مع التأكد من عدم تنشيط علامة i.
الحل متاح بعد 3 من المحاولات