שיעורי מודול (4/4)
נכס Unicode בורח
השיעורים \w, \d, \s ב-ASCII לא מספיקים לאיטלקית, צרפתית, יוונית
או טקסט אמוג'י. JavaScript מודרני (עם הדגל u -- Unicode) מציע
בריחות מנכסים \p{...}: מחלקות סמנטיות המבוססות על Unicode
תכונות של תווים.
Pattern: \p{L}+ (with flag u)
Sample: Ciao caffe' \u00fcber \u4e16\u754c
^^^^ ^^^^^^^ ^^^^ ^^^^\p{L} = "כל אות (Unicode)": כולל אותיות מודגשות, סינית
אידיאוגרמות, קיריליות, יווניות\u2026 הכל. הנפוצים שבהם:
\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). השתמש במאפיין escape \\p{L} עם הדגל u.
הצג רמז
החלף את \\w+ ב-\\p{L}+ והוסף את דגל ה-u (בנוסף ל-g).
הפתרון זמין לאחר 3 ניסיונות
סקירת התרגיל
מצא כל סמל Unicode (מטבעות, מתמטיקה, אמוג'י) בטקסט, למעט אותיות וספרות.
הצג רמז
\\p{S} תואם לקטגוריית הסמלים של Unicode. זכור את דגל ה-u.
הפתרון זמין לאחר 3 ניסיונות
אתגר נוסף
מצא את כל המילים המורכבות מאותיות אלפבית קיריליות באמצעות `\p{Script=Cyrillic}`.
הצג רמז
השתמש ב-\\p{Script=Cyrillic} עם הכימת + ודגל u.
הפתרון זמין לאחר 3 ניסיונות