مرکزی مواد پر جائیں
ماڈیول 6 · سبق 4 از 4کورس میں 24/32~12 min
ماڈیول اسباق (4/4)

عملی طور پر ارد گرد دیکھو

آئیے حقیقی دنیا کے منظرناموں میں آس پاس کی چاروں شکلوں کو ایک ساتھ رکھیں۔ جب آپ کو ضرورت ہو تو آس پاس چمکتا ہے:

  1. سیاق و سباق کے بغیر ایک قدر نکالیں جو اس کی شناخت کرے۔
  2. متعدد آزاد حالات کے خلاف ایک تار کی **تصدیق کریں۔
  3. فلٹر مماثلتیں جو کچھ شرائط کو پورا کرتی ہیں لیکن دوسروں کو نہیں۔

پاس ورڈ کی توثیق

Code
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,}$

حد بندیوں کے درمیان نکالنا

Code
Pattern: (?<=\().+?(?=\))
Sample:  Funzione foo(bar) e baz(qux, qix)
Match: "bar", "quux, qix" (without parentheses)

Lookbehind + lookahead + lazy quantifier: مواد کو اندر سے نکالتا ہے۔ قوسین ان کو شامل کیے بغیر۔

آگے اور پیچھے دیکھنے کا امتزاج

دیکھو اور پیچھے کو ایک ساتھ استعمال کرنے سے مخصوص ٹیگز یا فارمیٹس کے اندر موجود تاروں کو الگ کرنے کی اجازت ملتی ہے (مثال کے طور پر فائنل میچ میں ٹیگز کو شامل کیے بغیر دو ٹیگز کے درمیان متن نکالنا)۔ یہ بعد میں سٹرنگ کلین اپ آپریشنز سے بچتا ہے۔

اسے آزمائیں

ورزش#regex.m6.l4.e1
کوششیں: 0لوڈ ہو رہا ہے…

لاگ سے ہر `key=value` تفویض کی قدر نکالیں: صرف اقدار (کوئی کلید نہیں، `=` نہیں)۔ اقدار میں حروف اور ہندسے شامل ہو سکتے ہیں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

`=` کو پیچھے کے پیچھے (?<==) کے اندر منتقل کریں: اس طرح میچ میں صرف قدر ہوتی ہے۔

3 کوششوں کے بعد حل دستیاب ہے۔

ورزش کا جائزہ لیں۔

ورزش#regex.m6.l4.e2
کوششیں: 0لوڈ ہو رہا ہے…

معلوم کریں کہ کن الفاظ میں کم از کم ایک بڑے حروف اور کم از کم ایک ہندسہ (کسی بھی ترتیب میں) ہے، انہیں متن میں تلاش کریں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

شروع میں دوہری نظر: (?=\\w*[A-Z])(?=\\w*\\d)۔ پھر لفظ کو \\w+ کے ساتھ استعمال کریں۔

3 کوششوں کے بعد حل دستیاب ہے۔

اضافی چیلنج

ورزش#regex.m6.l4.e3
کوششیں: 0لوڈ ہو رہا ہے…

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 کوششوں کے بعد حل دستیاب ہے۔