ماڈیول اسباق (4/4)
عملی طور پر ارد گرد دیکھو
آئیے حقیقی دنیا کے منظرناموں میں آس پاس کی چاروں شکلوں کو ایک ساتھ رکھیں۔ جب آپ کو ضرورت ہو تو آس پاس چمکتا ہے:
- سیاق و سباق کے بغیر ایک قدر نکالیں جو اس کی شناخت کرے۔
- متعدد آزاد حالات کے خلاف ایک تار کی **تصدیق کریں۔
- فلٹر مماثلتیں جو کچھ شرائط کو پورا کرتی ہیں لیکن دوسروں کو نہیں۔
پاس ورڈ کی توثیق
Pattern: ^(?=.*[A-Z])(?=.*\d)(?=.*[^a-zA-Z\d]).{8,}$
Checks:
- at least one uppercase (?=.*[A-Z])
- at least one digit (?=.*\d)
- at least one symbol (?=.*[^a-zA-Z\d])
- minimum length 8 .{8,}ہر پیش نظر ایک شرط کی جانچ کرتا ہے، شروع سے شروع کرتے ہوئے (^)۔ وہ ہیں۔
تمام صفر چوڑائی: انجن 0 پوزیشن پر رہتا ہے اور پھر استعمال کرتا ہے۔
.{8,}$
حد بندیوں کے درمیان نکالنا
Pattern: (?<=\().+?(?=\))
Sample: Funzione foo(bar) e baz(qux, qix)
Match: "bar", "quux, qix" (without parentheses)Lookbehind + lookahead + lazy quantifier: مواد کو اندر سے نکالتا ہے۔ قوسین ان کو شامل کیے بغیر۔
آگے اور پیچھے دیکھنے کا امتزاج
دیکھو اور پیچھے کو ایک ساتھ استعمال کرنے سے مخصوص ٹیگز یا فارمیٹس کے اندر موجود تاروں کو الگ کرنے کی اجازت ملتی ہے (مثال کے طور پر فائنل میچ میں ٹیگز کو شامل کیے بغیر دو ٹیگز کے درمیان متن نکالنا)۔ یہ بعد میں سٹرنگ کلین اپ آپریشنز سے بچتا ہے۔
اسے آزمائیں
لاگ سے ہر `key=value` تفویض کی قدر نکالیں: صرف اقدار (کوئی کلید نہیں، `=` نہیں)۔ اقدار میں حروف اور ہندسے شامل ہو سکتے ہیں۔
اشارہ دکھائیں۔
`=` کو پیچھے کے پیچھے (?<==) کے اندر منتقل کریں: اس طرح میچ میں صرف قدر ہوتی ہے۔
3 کوششوں کے بعد حل دستیاب ہے۔
ورزش کا جائزہ لیں۔
معلوم کریں کہ کن الفاظ میں کم از کم ایک بڑے حروف اور کم از کم ایک ہندسہ (کسی بھی ترتیب میں) ہے، انہیں متن میں تلاش کریں۔
اشارہ دکھائیں۔
شروع میں دوہری نظر: (?=\\w*[A-Z])(?=\\w*\\d)۔ پھر لفظ کو \\w+ کے ساتھ استعمال کریں۔
3 کوششوں کے بعد حل دستیاب ہے۔
اضافی چیلنج
Extract only numerical digits that are enclosed exactly between parentheses, e.g. extract `102` from `(102)` without capturing the parentheses.
اشارہ دکھائیں۔
Combine a positive lookbehind (?<=\( ) for the open parenthesis and a positive lookahead (?=\) ) for the closed one.
3 کوششوں کے بعد حل دستیاب ہے۔