دورة تفاعلية
دورة ريجكس
تعلم التعبيرات العادية من الصفر، باللغة الإنجليزية، باستخدام محرك يقوم بتشغيل كل نمط مباشرة في المتصفح ويعرض لك المطابقات في الوقت الفعلي.
01 · الوحدة 1 – الأساسيات
أسس التعبير العادي: الأنماط الحرفية، وفئات الأحرف الأساسية، وحرف البدل `.` والهروب من الأحرف الوصفية.
- 1.1الأنماط الحرفيةالأحرف العادية وحساسية حالة الأحرف والتشغيل الأول: المطابقة والفهرس.~8 min
- 1.2الفصول الأساسية: \d \w \sالفئات المحددة مسبقًا للأرقام وأحرف الكلمات والمسافات البيضاء (وإصداراتها المرفوضة).~10 min
- 1.3حرف البدل: النقطة `.`يتطابق الحرف `.` مع كل شيء تقريبًا: ما يتضمنه، وما يستبعده، وسبب أهمية العلم `s`.~8 min
- 1.4الهروب من الشخصيات الفوقيةالأحرف التعريفية الـ 12 التي تحتاج إلى الهروب باستخدام `\`، عندما تحتاج إلى شرطة مائلة عكسية مزدوجة ولماذا.~10 min
02 · الوحدة 2 - محددات الكمية
ما مقدار التكرار: `*`، `+`، `؟`، الفواصل الزمنية `{n,m}` والفرق بين الجشع والكسلان.
- 2.1`*`، `+`، `؟`صفر أو أكثر، واحد أو أكثر، اختياري: المحددات الكمية الأساسية الثلاثة.~10 min
- 2.2الكميات الدقيقة `{n,m}`بالضبط `n`، من `n` إلى `m`، على الأقل `n`: المحدد الكمي الرقمي.~10 min
- 2.3الجشع مقابل كسولبشكل افتراضي، تكون مُحدِّدات الكمية جشعة (`.*`)؛ أضف `?` للإصدار البطيء (`.*?`).~10 min
- 2.4التراجع: نظرة عامةماذا يفعل المحرك عندما يفشل جهاز قياس الكمية الجشع، ولماذا يمكن أن يكون مكلفًا.~12 min
03 · الوحدة 3 - المراسي والحدود
الموضع، وليس الأحرف: التثبيت في بداية/نهاية السلسلة، وحدود الكلمات، وبداية/نهاية كل سطر باستخدام العلامة `m`.
- 3.1البداية والنهاية: `^` و`$`ربط النمط بالحرف الأول أو الأخير من السلسلة.~8 min
- 3.2حدود الكلمات: `\b` `\B`الانتقال بين الأحرف الكلمة وغير الكلمة؛ العثور على الكلمات كاملة.~10 min
- 3.3العلم `m`: متعدد الأسطرباستخدام العلامة `m`، يتم ربط `^` و`$` في بداية/نهاية كل سطر.~10 min
- 3.4خطوط فارغة وتقليمأنماط مفيدة: مطابقة الأسطر الفارغة، وتقليص المسافات البيضاء في بداية/نهاية السطر.~10 min
04 · الوحدة 4 - المجموعات والتناوب
قم بالتجميع باستخدام `()`، واختر من بين البدائل باستخدام `|`، وتجنب الالتقاط باستخدام `(؟:...)`، وقم بتسمية المجموعات باستخدام `(؟<name>...)` وارجع إلى الالتقاط السابق باستخدام المراجع الخلفية.
- 4.1التقاط المجموعات: `(...)`بين قوسين للتجميع والالتقاط؛ الوصول إلى المجموعات 1، 2، 3... في المباريات.~10 min
- 4.2التناوب: `|`يختار الأنبوب بين نمطين فرعيين أو أكثر؛ الأسبقية والأقواس.~10 min
- 4.3مجموعات غير ملتقطة: `(؟:...)`التجميع دون إنشاء لقطة: مفيد عندما تحتاج فقط إلى التحديد الكمي أو البديل.~10 min
- 4.4المجموعات المسماة والمراجع الخلفية`(؟<name>...)` لإعطاء اسم؛ `\1` `\k<name>` للإشارة إلى الالتقاط.~12 min
05 · الوحدة 5 – فئات الشخصيات
حدد مجموعات مخصصة باستخدام `[...]`، واستخدم النطاقات، وألغِ باستخدام `[^...]` والوصول إلى خصائص Unicode باستخدام `\p{...}` والعلامة `u`.
- 5.1مجموعات الأحرف: `[abc]`تحدد الأقواس المربعة مجموعة من الأحرف المسموح بها في موضع واحد.~8 min
- 5.2النطاقات داخل الفئات: `[a-z0-9]`فترات عبر اندفاعة. الجمع بين النطاقات والأحرف الفردية.~8 min
- 5.3النفي: `[^...]`تتطابق الفئة المرفوضة مع أي شيء **ما عدا** الأحرف المدرجة.~8 min
- 5.4هروب خاصية Unicode`\p{L}`، `\p{N}`، `\p{Script=...}` مع العلامة `u`: فئات Unicode الدلالية.~12 min
06 · الوحدة 6 - نظرة عامة
تأكيدات العرض الصفري: التطلع إلى الأمام أو الخلف في السلسلة دون استهلاك الأحرف. انظر للأمام `(?=)` `(؟!)`، انظر للخلف `(؟<=)` `(?<!)`.
- 6.1نظرة مستقبلية إيجابية: `(؟=...)`تأكد من أن نمطًا معينًا يتبع الموضع الحالي، دون استهلاكه.~10 min
- 6.2نظرة سلبية إلى الأمام: `(؟!...)`تأكد من أن نمطًا معينًا لا يتبع الموضع الحالي.~10 min
- 6.3انظر إلى الخلف: `(؟<=...)` `(؟<!...)`إصدارات "النظر إلى الوراء" للبحث حولك؛ دعم ES2018+.~12 min
- 6.4نظرة عامة في الممارسة العمليةاستخراج قيمة دون تضمين السياق، والتحقق من صحة كلمات المرور، وتحليل الأرقام المحددة.~12 min
07 · الوحدة 7 - الأعلام، الاستبدال، الانقسام
جميع العلامات (بما في ذلك `d`، `v`)، `String.prototype.replace`/`replaceAll`/`split` مع regex، والمراجع `$1`/`$<name>` في سلسلة الاستبدال واستبدال عمليات الاسترجاعات.
- 7.1جميع الأعلام بالتفصيل`g i m s u v y d`: ماذا يفعل كل واحد منهم وكيف يجمعون.~12 min
- 7.2الاستبدال الأساسي و `$1`استبدل التطابقات بسلسلة ثابتة أو بمراجع خلفية `$1` / `$<name>`.~10 min
- 7.3استبدال مع رد الاتصالوظيفة الاستبدال: تحويل كل مباراة باستخدام رمز JS التعسفي، والوصول إلى المجموعات.~12 min
- 7.4انقسام مع ريكسقم بتقسيم سلسلة على نمط (ملف CSV مسموح به، الحد الأدنى من الرمز المميز).~10 min
08 · الوحدة 8 - الممارسة
ضع كل ذلك معًا في مشكلات حقيقية: التحقق من صحة رسائل البريد الإلكتروني، وتحليل السجلات، واستخراج عناوين URL/عناوين IP، وكتابة أنماط مقاومة لـ ReDoS.
- 8.1التحقق من صحة البريد الإلكترونينمط "جيد بما فيه الكفاية" لرسائل البريد الإلكتروني، مع شرح المقايضات.~12 min
- 8.2محلل سجل أباتشيقم باستخراج IP والطريقة والمسار ورمز الحالة من سطر السجل باستخدام المجموعات المسماة.~12 min
- 8.3استخراج عناوين URL وعناوين IPتعرف على عناوين URL الخاصة بـ http(s) وعناوين IPv4 بنص حر.~12 min
- 8.4كتابة أنماط ReDoS الآمنةالتعرف على الأنماط الكارثية (`(a+)+b`)، وإعادة هيكلتها، واستخدام محددات الكمية الشبيهة بالذرات.~14 min