الانتقال إلى المحتوى الرئيسي
eLearner.app

دورة تفاعلية

دورة ريجكس

تعلم التعبيرات العادية من الصفر، باللغة الإنجليزية، باستخدام محرك يقوم بتشغيل كل نمط مباشرة في المتصفح ويعرض لك المطابقات في الوقت الفعلي.

01 · الوحدة 1 – الأساسيات

4 الدروس

أسس التعبير العادي: الأنماط الحرفية، وفئات الأحرف الأساسية، وحرف البدل `.` والهروب من الأحرف الوصفية.

  1. 1.1الأنماط الحرفيةالأحرف العادية وحساسية حالة الأحرف والتشغيل الأول: المطابقة والفهرس.~8 min
  2. 1.2الفصول الأساسية: \d \w \sالفئات المحددة مسبقًا للأرقام وأحرف الكلمات والمسافات البيضاء (وإصداراتها المرفوضة).~10 min
  3. 1.3حرف البدل: النقطة `.`يتطابق الحرف `.` مع كل شيء تقريبًا: ما يتضمنه، وما يستبعده، وسبب أهمية العلم `s`.~8 min
  4. 1.4الهروب من الشخصيات الفوقيةالأحرف التعريفية الـ 12 التي تحتاج إلى الهروب باستخدام `\`، عندما تحتاج إلى شرطة مائلة عكسية مزدوجة ولماذا.~10 min

02 · الوحدة 2 - محددات الكمية

4 الدروس

ما مقدار التكرار: `*`، `+`، `؟`، الفواصل الزمنية `{n,m}` والفرق بين الجشع والكسلان.

  1. 2.1`*`، `+`، `؟`صفر أو أكثر، واحد أو أكثر، اختياري: المحددات الكمية الأساسية الثلاثة.~10 min
  2. 2.2الكميات الدقيقة `{n,m}`بالضبط `n`، من `n` إلى `m`، على الأقل `n`: المحدد الكمي الرقمي.~10 min
  3. 2.3الجشع مقابل كسولبشكل افتراضي، تكون مُحدِّدات الكمية جشعة (`.*`)؛ أضف `?` للإصدار البطيء (`.*?`).~10 min
  4. 2.4التراجع: نظرة عامةماذا يفعل المحرك عندما يفشل جهاز قياس الكمية الجشع، ولماذا يمكن أن يكون مكلفًا.~12 min

03 · الوحدة 3 - المراسي والحدود

4 الدروس

الموضع، وليس الأحرف: التثبيت في بداية/نهاية السلسلة، وحدود الكلمات، وبداية/نهاية كل سطر باستخدام العلامة `m`.

  1. 3.1البداية والنهاية: `^` و`$`ربط النمط بالحرف الأول أو الأخير من السلسلة.~8 min
  2. 3.2حدود الكلمات: `\b` `\B`الانتقال بين الأحرف الكلمة وغير الكلمة؛ العثور على الكلمات كاملة.~10 min
  3. 3.3العلم `m`: متعدد الأسطرباستخدام العلامة `m`، يتم ربط `^` و`$` في بداية/نهاية كل سطر.~10 min
  4. 3.4خطوط فارغة وتقليمأنماط مفيدة: مطابقة الأسطر الفارغة، وتقليص المسافات البيضاء في بداية/نهاية السطر.~10 min

04 · الوحدة 4 - المجموعات والتناوب

4 الدروس

قم بالتجميع باستخدام `()`، واختر من بين البدائل باستخدام `|`، وتجنب الالتقاط باستخدام `(؟:...)`، وقم بتسمية المجموعات باستخدام `(؟<name>...)` وارجع إلى الالتقاط السابق باستخدام المراجع الخلفية.

  1. 4.1التقاط المجموعات: `(...)`بين قوسين للتجميع والالتقاط؛ الوصول إلى المجموعات 1، 2، 3... في المباريات.~10 min
  2. 4.2التناوب: `|`يختار الأنبوب بين نمطين فرعيين أو أكثر؛ الأسبقية والأقواس.~10 min
  3. 4.3مجموعات غير ملتقطة: `(؟:...)`التجميع دون إنشاء لقطة: مفيد عندما تحتاج فقط إلى التحديد الكمي أو البديل.~10 min
  4. 4.4المجموعات المسماة والمراجع الخلفية`(؟<name>...)` لإعطاء اسم؛ `\1` `\k<name>` للإشارة إلى الالتقاط.~12 min

05 · الوحدة 5 – فئات الشخصيات

4 الدروس

حدد مجموعات مخصصة باستخدام `[...]`، واستخدم النطاقات، وألغِ باستخدام `[^...]` والوصول إلى خصائص Unicode باستخدام `\p{...}` والعلامة `u`.

  1. 5.1مجموعات الأحرف: `[abc]`تحدد الأقواس المربعة مجموعة من الأحرف المسموح بها في موضع واحد.~8 min
  2. 5.2النطاقات داخل الفئات: `[a-z0-9]`فترات عبر اندفاعة. الجمع بين النطاقات والأحرف الفردية.~8 min
  3. 5.3النفي: `[^...]`تتطابق الفئة المرفوضة مع أي شيء **ما عدا** الأحرف المدرجة.~8 min
  4. 5.4هروب خاصية Unicode`\p{L}`، `\p{N}`، `\p{Script=...}` مع العلامة `u`: فئات Unicode الدلالية.~12 min

06 · الوحدة 6 - نظرة عامة

4 الدروس

تأكيدات العرض الصفري: التطلع إلى الأمام أو الخلف في السلسلة دون استهلاك الأحرف. انظر للأمام `(?=)` `(؟!)`، انظر للخلف `(؟<=)` `(?<!)`.

  1. 6.1نظرة مستقبلية إيجابية: `(؟=...)`تأكد من أن نمطًا معينًا يتبع الموضع الحالي، دون استهلاكه.~10 min
  2. 6.2نظرة سلبية إلى الأمام: `(؟!...)`تأكد من أن نمطًا معينًا لا يتبع الموضع الحالي.~10 min
  3. 6.3انظر إلى الخلف: `(؟<=...)` `(؟<!...)`إصدارات "النظر إلى الوراء" للبحث حولك؛ دعم ES2018+.~12 min
  4. 6.4نظرة عامة في الممارسة العمليةاستخراج قيمة دون تضمين السياق، والتحقق من صحة كلمات المرور، وتحليل الأرقام المحددة.~12 min

07 · الوحدة 7 - الأعلام، الاستبدال، الانقسام

4 الدروس

جميع العلامات (بما في ذلك `d`، `v`)، `String.prototype.replace`/`replaceAll`/`split` مع regex، والمراجع `$1`/`$<name>` في سلسلة الاستبدال واستبدال عمليات الاسترجاعات.

  1. 7.1جميع الأعلام بالتفصيل`g i m s u v y d`: ماذا يفعل كل واحد منهم وكيف يجمعون.~12 min
  2. 7.2الاستبدال الأساسي و `$1`استبدل التطابقات بسلسلة ثابتة أو بمراجع خلفية `$1` / `$<name>`.~10 min
  3. 7.3استبدال مع رد الاتصالوظيفة الاستبدال: تحويل كل مباراة باستخدام رمز JS التعسفي، والوصول إلى المجموعات.~12 min
  4. 7.4انقسام مع ريكسقم بتقسيم سلسلة على نمط (ملف CSV مسموح به، الحد الأدنى من الرمز المميز).~10 min

08 · الوحدة 8 - الممارسة

4 الدروس

ضع كل ذلك معًا في مشكلات حقيقية: التحقق من صحة رسائل البريد الإلكتروني، وتحليل السجلات، واستخراج عناوين URL/عناوين IP، وكتابة أنماط مقاومة لـ ReDoS.

  1. 8.1التحقق من صحة البريد الإلكترونينمط "جيد بما فيه الكفاية" لرسائل البريد الإلكتروني، مع شرح المقايضات.~12 min
  2. 8.2محلل سجل أباتشيقم باستخراج IP والطريقة والمسار ورمز الحالة من سطر السجل باستخدام المجموعات المسماة.~12 min
  3. 8.3استخراج عناوين URL وعناوين IPتعرف على عناوين URL الخاصة بـ http(s) وعناوين IPv4 بنص حر.~12 min
  4. 8.4كتابة أنماط ReDoS الآمنةالتعرف على الأنماط الكارثية (`(a+)+b`)، وإعادة هيكلتها، واستخدام محددات الكمية الشبيهة بالذرات.~14 min