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

النفي: `[^...]`

وضع علامة الإقحام ^ باعتبارها الحرف الأول داخل الأقواس يعكس الفئة: فهو يطابق أي حرف ما عدا تلك المذكورة.

Code
Pattern: [^aeiou]
Sample:  ciao mondo
          ^   ^^  ^

[^aeiou] يطابق الحروف الساكنة والمسافات وعلامات الترقيم والأرقام وكل شيء هو ** ليس ** حرف علة.

أمثلة نموذجية

  • [^\s] -- أي حرف "بدون مسافة" (أي ما يعادل \S).
  • [^0-9] -- أي شيء ليس رقمًا (أي ما يعادل \D).
  • [^"]+ -- "سلسلة من الأحرف التي ليست علامات اقتباس مزدوجة" (مفيدة لـ استخراج المحتوى بين علامات الاقتباس).
Code
Pattern: "([^"]+)"
Sample:  Il libro "Il nome della rosa" e' famoso.

تلتقط المجموعة ([^"]+) كل شيء بين علامتي الاقتباس التوقف قبل " التالي: إنها خدعة كلاسيكية لتجنب مشكلة الجشع مقابل الكسل.

النفي وأحرف البدل البديلة

تستهلك الفئة الملغاة [^...] حرفًا واحدًا فقط لا يمثل جزءًا من المجموعة المدرجة. إنها أداة قوية لمنع المحرك من تجاوز المحددات الحرجة، وتجنب ReDoS الناتج عن حلقات التراجع اللانهائية.

جربه

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

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

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

استبدل .+ بـ [^"]+: بهذه الطريقة تتوقف المطابقة عند الاقتباس التالي.

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

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

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

ابحث عن كل كلمة مكونة من الحروف الساكنة فقط (بدون أحرف متحركة، ولا أرقام، ولا رموز).

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

داخل الأقواس، يمكنك الجمع بين نفي حروف العلة مع \\W (غير كلمة) و\\d (أرقام).

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

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

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

مطابقة التسلسلات المكونة من حرف واحد أو أكثر، مع استبعاد المسافات البيضاء والفواصل بشكل صريح.

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

استخدم [^\\s,] مع محدد الكمية +.

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