دروس الوحدة (4/4)
هروب خاصية Unicode
الفئات \w، \d، \s في ASCII ليست كافية للغة الإيطالية والفرنسية واليونانية
أو نص الرموز التعبيرية. عروض جافا سكريبت الحديثة (مع العلامة u -- Unicode).
هروب الخاصية \p{...}: فئات دلالية تعتمد على Unicode
خصائص الشخصيات.
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
\\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)، وإلا فسيُظهر المحرك خطأً في بناء الجملة.
جربه
ابحث عن كل كلمة، بما في ذلك الكلمات ذات اللكنات (citta'، perche'، e' \u2026). استخدم خاصية الهروب \\p{L} مع العلم u.
إظهار التلميح
استبدل \\w+ بـ \\p{L}+ وأضف علامة u (بالإضافة إلى g).
الحل متاح بعد 3 من المحاولات
تمرين المراجعة
ابحث عن كل رمز Unicode (العملات والرياضيات والرموز التعبيرية) في النص، باستثناء الحروف والأرقام.
إظهار التلميح
\\p{S} يطابق فئة الرمز الخاصة بـ Unicode. تذكر العلم يو.
الحل متاح بعد 3 من المحاولات
التحدي الإضافي
ابحث عن جميع الكلمات التي تتكون من الحروف الأبجدية السيريلية باستخدام `\p{Script=Cyrillic}`.
إظهار التلميح
استخدم \\p{Script=Cyrillic} مع محدد الكمية + والعلم u.
الحل متاح بعد 3 من المحاولات