الانتقال إلى المحتوى الرئيسي
الوحدة 4 · الدرس 4 من 416/32 في الدورة~12 min
دروس الوحدة (4/4)

المجموعات المسماة والمراجع الخلفية

عندما يزداد عدد المجموعات، تذكر أن $2 هو "الشهر" و $5 هو "السنة" يصبح هشا. يتيح لك بناء الجملة (?<name>...) القيام بذلك اسم مجموعة: يمكنك الوصول إليها بالاسم عبر groups.name (وفي البدائل كـ $<name>).

Code
Pattern: (?<anno>\d{4})-(?<mese>\d{2})-(?<giorno>\d{2})
Sample:  2024-03-15
Gruppi:
  anno    = "2024"
  mese    = "03"
  giorno  = "15"

يعرض المحرر المجموعات المسماة بجوار المباراة.

مرجع خلفي

يتيح لك المرجع الخلفي الرجوع، داخل نفس النمط، إلى الالتقاط السابق. بناء الجملة:

  • \1, \2, … -- مرجع مرقم (للمجموعة 1، 2، ...).
  • \k<name> -- المرجع المسمى.
Code
Pattern: \b(\w+)\s+\1\b
Sample:  un test un test il il gatto
                                ^^^^^

إنه يطابق كلمات مكررة متتالية: (\w+) يلتقط كلمة، ثم \s+\1 يتطلب مسافة ونفس الكلمة.

رمز التوثيق الذاتي والمراجع الخلفية المسماة

تعمل المجموعات المسماة على تحسين إمكانية قراءة كود JavaScript: بدلاً من الإشارة إلى match[1]، يمكنك الوصول إلى match.groups.name. داخل النمط نفسه، يتم الرجوع إليها باستخدام بناء الجملة \\k<name>.

جربه

تمرين#regex.m4.l4.e1
المحاولات: 0جارٍ التحميل…

ابحث عن كل تاريخ بتنسيق YYYY-MM-DD مع تسمية المجموعات `anno` و`mese` و`giorno`.

جارٍ تحميل المحرر…
إظهار التلميح

بناء الجملة: (؟&lt;الاسم&gt;نمط). تُظهر المطابقة المجموعات ضمن الإدخال "المسمى".

الحل متاح بعد 3 من المحاولات

تمرين المراجعة

تمرين#regex.m4.l4.e2
المحاولات: 0جارٍ التحميل…

ابحث عن كلمات مكررة متتالية (مثل `il il`، `casa casa`). استخدم مجموعة للأول ومرجع خلفي `\\1` للثاني.

جارٍ تحميل المحرر…
إظهار التلميح

\\b(\\w+)\\s+\\1\\b: الكلمة الأولى هي (\\w+)، ثم مسافة، ثم نفس الكلمة \\1.

الحل متاح بعد 3 من المحاولات

التحدي الإضافي

تمرين#regex.m4.l4.e3
المحاولات: 0جارٍ التحميل…

Find HTML/XML tag pairs (e.g. `**text**` or `*text*`) ensuring that the closing tag matches the opening tag using a named backreference.

جارٍ تحميل المحرر…
إظهار التلميح

قم بتعيين الاسم (?<tag>\\w+) وأغلقه بـ \\k<tag>.

الحل متاح بعد 3 من المحاولات