ماڈیول اسباق (4/4)
یونیکوڈ پراپرٹی فرار
ASCII میں کلاسز \w, \d, \s اطالوی، فرانسیسی، یونانی کے لیے کافی نہیں ہیں
یا ایموجی ٹیکسٹ۔ جدید جاوا اسکرپٹ (u پرچم -- یونیکوڈ کے ساتھ) پیشکشیں
پراپرٹی فرار \p{...}: یونیکوڈ پر مبنی سیمنٹک کلاسز
حروف کی خصوصیات
Pattern: \p{L}+ (with flag u)
Sample: Ciao caffe' \u00fcber \u4e16\u754c
^^^^ ^^^^^^^ ^^^^ ^^^^\p{L} = "کوئی بھی خط (یونیکوڈ)": اس میں تلفظ والے حروف، چینی شامل ہیں
آئیڈیوگرامس، سیریلک، یونانی\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' الفاظ کے طور پر درست طریقے سے مماثل ہیں۔
یونیکوڈ کی خصوصیات اور براؤزر کی مطابقت
یونیکوڈ خصوصیات جیسے \\p{L} (حروف) یا \\p{Script=Latin} بین الاقوامی حروف تہجی تک کلاسوں کو بڑھاتے ہیں۔ JavaScript میں، انہیں سختی سے u (یا v) پرچم کی ضرورت ہوتی ہے، بصورت دیگر انجن ایک نحوی غلطی پھینک دیتا ہے۔
اسے آزمائیں
ہر لفظ تلاش کریں، بشمول لہجے والے (citta', perche', e' \u2026)۔ فلیگ u کے ساتھ پراپرٹی escape \\p{L} استعمال کریں۔
اشارہ دکھائیں۔
\\w+ کو \\p{L}+ سے تبدیل کریں اور u پرچم (g کے علاوہ) شامل کریں۔
3 کوششوں کے بعد حل دستیاب ہے۔
ورزش کا جائزہ لیں۔
حروف اور ہندسوں کو چھوڑ کر متن میں ہر یونیکوڈ علامت (کرنسیاں، ریاضی، ایموجی) تلاش کریں۔
اشارہ دکھائیں۔
\\p{S} یونیکوڈ کے سمبل کے زمرے سے میل کھاتا ہے۔ یو پرچم یاد رکھیں.
3 کوششوں کے بعد حل دستیاب ہے۔
اضافی چیلنج
`\p{Script=Cyrillic}` کا استعمال کرتے ہوئے سیریلک حروف تہجی کے حروف پر مشتمل تمام الفاظ تلاش کریں۔
اشارہ دکھائیں۔
+ کوانٹیفائر اور u پرچم کے ساتھ \\p{Script=Cyrillic} استعمال کریں۔
3 کوششوں کے بعد حل دستیاب ہے۔