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

هروب خاصية Unicode

الفئات \w، \d، \s في ASCII ليست كافية للغة الإيطالية والفرنسية واليونانية أو نص الرموز التعبيرية. عروض جافا سكريبت الحديثة (مع العلامة u -- Unicode). هروب الخاصية \p{...}: فئات دلالية تعتمد على Unicode خصائص الشخصيات.

Code
Pattern: \p{L}+        (with flag u)
Sample:  Ciao caffe' \u00fcber \u4e16\u754c
         ^^^^ ^^^^^^^ ^^^^ ^^^^

\p{L} = "أي حرف (Unicode)": يتضمن الحروف المحركة، الصينية الأيدوجرامات والسيريلية واليونانية وكل شيء. الأكثر شيوعا:

  • \p{L} -- حرف (من أي أبجدية).
  • \p{N} -- الرقم (أرقام عربية، رومانية، هندية\u2026).
  • \p{P} -- علامات الترقيم.
  • \p{S} -- الرمز (رياضي، عملة، رمز تعبيري\u2026).
  • \p{Z} -- مسافة/فاصل.
  • \p{Script=Latin} -- على وجه التحديد الأبجدية اللاتينية.
  • \p{Script=Greek}--الأبجدية اليونانية. وهكذا.

والإصدارات الملغاة \P{L}، \P{N}، \u2026

الفرق مع \w و \d

Code
\\w matches [A-Za-z0-9_]              -- ASCII only, no "caffe'"
\\p{L}\\p{N}_  with flag u            -- includes accented characters

للحصول على محلل قوي للنص الإيطالي، فضل \p{L} على \w: citta'، perche'، andro' تتطابق بشكل صحيح مع الكلمات.

خصائص Unicode وتوافق المتصفح

تعمل خصائص Unicode مثل \\p{L} (الحروف) أو \\p{Script=Latin} على توسيع الفئات لتشمل الحروف الهجائية الدولية. في JavaScript، يطلبون بشكل صارم وضع علامة u (أو v)، وإلا فسيُظهر المحرك خطأً في بناء الجملة.

جربه

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

ابحث عن كل كلمة، بما في ذلك الكلمات ذات اللكنات (citta'، perche'، e' \u2026). استخدم خاصية الهروب \\p{L} مع العلم u.

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

استبدل \\w+ بـ \\p{L}+ وأضف علامة u (بالإضافة إلى g).

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

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

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

ابحث عن كل رمز Unicode (العملات والرياضيات والرموز التعبيرية) في النص، باستثناء الحروف والأرقام.

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

\\p{S} يطابق فئة الرمز الخاصة بـ Unicode. تذكر العلم يو.

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

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

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

ابحث عن جميع الكلمات التي تتكون من الحروف الأبجدية السيريلية باستخدام `\p{Script=Cyrillic}`.

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

استخدم \\p{Script=Cyrillic} مع محدد الكمية + والعلم u.

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