دروس الوحدة (1/4)
جميع الأعلام بالتفصيل
ملخص كامل لجميع العلامات المتوفرة في جافا سكريبت الحديثة (ES2024). العلم هو حرف واحد يعدل سلوك التعبير العادي؛ يمكن دمجها بأي ترتيب.
| علم | الاسم | تأثير |
|---|---|---|
| محمي_INLINE_0 | عالمي | يبحث عن جميع التطابقات، وليس فقط التطابقات الأولى (مطلوب لـ matchAll). |
| محمي_INLINE_2 | تجاهل الحالة | غير حساسة لحالة الأحرف (بما في ذلك أحرف Unicode مع العلامة u/v). |
| محمي_INLINE_5 | متعدد الأسطر | ^ و$ يتطابقان مع بداية/نهاية السطر، وليس فقط السلسلة. |
| محمي_INLINE_8 | نقطة الكل | يتطابق . أيضًا مع السطر الجديد \n. |
| محمي_INLINE_11 | يونيكود | المعالجة الصحيحة لنقاط التعليمات البرمجية > 0xFFFF وتمكين \\p{...}. |
| محمي_INLINE_13 | وضع Unicode v | ملحق حديث لـ u مع عمليات ضبط ([abc&&[def]]). |
| محمي_INLINE_16 | مثبت | يتطابق فقط من الموضع lastIndex، بدون تخطي. |
| محمي_INLINE_18 | لديه مؤشرات | تتضمن النتيجة indices مع بداية/نهاية كل مجموعة. |
const re = /foo/gimu; // global + insensitive + multiline + unicode
re.flags; // "gimu" (always in canonical order: dgimsuvy)مجموعات نموذجية
g+i-- "ابحث عن كل شيء، غير حساس لحالة الأحرف". 80% من الاستخدامات العملية.g+m- لمطابقة سطرًا بسطر في نص متعدد الأسطر.g+s-- "النقطة تتطابق مع أي شيء، بما في ذلك الأسطر الجديدة". مفيد لاستخراج الكتل عبر خطوط متعددة.u(أوv) -- دائمًا إذا كنت تتعامل مع نص حقيقي بأي لغة أو رمز تعبيري.
وضع Unicode v وتطور العلم
تحل العلامة v (المتوفرة في ES2024) محل u وتمكن العمليات المتقدمة على المجموعات، مثل تقاطع فئة الأحرف والطرح (على سبيل المثال [\\p{White_Space}&&\\p{ASCII}]).
جربه
ابحث عن كافة تكرارات 'ciao' بغض النظر عن الحالة. استخدم العلم الصحيح.
إظهار التلميح
أضف علامة i (غير حساسة لحالة الأحرف) بجوار g.
الحل متاح بعد 3 من المحاولات
تمرين المراجعة
ابحث عن كتلة بين `<pre>` و`</pre>` حتى لو كانت تحتوي على أسطر جديدة. يجب عليك استخدام العلامة التي تجعل النقطة تتطابق أيضًا مع الأسطر الجديدة.
إظهار التلميح
أضف علامة s لذلك . يطابق الأسطر الجديدة أيضًا، ويستخدم Lazy .+؟ للتوقف عند أول </pre>.
الحل متاح بعد 3 من المحاولات
التحدي الإضافي
Match sequences of ASCII characters, explicitly excluding digits, using Unicode v-mode properties (flag `v`) and set subtraction syntax `[\p{ASCII}--\p{Nd}]+`.
إظهار التلميح
استخدم علامة v واكتب مجموعة الطرح [\\p{ASCII}--\\p{Nd}]+ لاستبعاد الأرقام.
الحل متاح بعد 3 من المحاولات