مرکزی مواد پر جائیں
ماڈیول 5 · سبق 3 از 4کورس میں 19/32~8 min
ماڈیول اسباق (3/4)

نفی: `[^...]`

بریکٹ کے اندر پہلے کریکٹر کے طور پر ایک کیریٹ ^ رکھنا کلاس کو الٹا کرتا ہے: یہ کسی بھی حرف سے مماثل ہے سوائے درج کردہ۔

Code
Pattern: [^aeiou]
Sample:  ciao mondo
          ^   ^^  ^

[^aeiou] تلفظ، خالی جگہوں، اوقاف، ہندسے\u2026 ہر چیز سے میل کھاتا ہے ایک حرف نہیں ہے۔

عام مثالیں۔

  • [^\s] -- کوئی بھی "غیر جگہ" حرف (\S کے برابر)۔
  • [^0-9] -- کوئی بھی چیز جو ہندسہ نہ ہو (\D کے برابر)۔
  • [^"]+ -- "حروف کی ایک ترتیب جو دوہرے اقتباسات نہیں ہیں" (اس کے لیے مفید اقتباسات کے درمیان مواد نکالیں)۔
Code
Pattern: "([^"]+)"
Sample:  Il libro "Il nome della rosa" e' famoso.

گروپ ([^"]+) حوالہ جات روکنے کے درمیان ہر چیز کو پکڑتا ہے۔ اگلی " سے پہلے: اس سے بچنے کی یہ ایک کلاسک چال ہے۔ لالچی بمقابلہ سست مسئلہ۔

نفی اور متبادل وائلڈ کارڈز

نفی شدہ کلاس [^...] بالکل ایک حرف استعمال کرتی ہے جو درج فہرست کا حصہ نہیں ہے۔ لامحدود بیک ٹریکنگ لوپس کی وجہ سے ہونے والے ReDoS سے گریز کرتے ہوئے، انجن کو ماضی کے اہم حد بندیوں کو چلانے سے روکنے کے لیے یہ ایک طاقتور ٹول ہے۔

اسے آزمائیں

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

دوہرے اقتباسات کے درمیان ہر اسٹرنگ کا مواد نکالیں، بغیر اقتباسات کو خود کیپچر کیے۔

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

.+ کو [^"]+ سے بدلیں: اس طرح میچ اگلے اقتباس پر رک جاتا ہے۔

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

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

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

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

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

بریکٹ کے اندر آپ حرف نفی کو \\W (غیر لفظ) اور \\d (ہدوں) کے ساتھ جوڑ سکتے ہیں۔

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

اضافی چیلنج

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

واضح طور پر خالی جگہ اور کوما کو چھوڑ کر، ایک یا زیادہ حروف کے سلسلے کو میچ کریں۔

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

+ کوانٹیفائر کے ساتھ [^\\s,] استعمال کریں۔

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