ماڈیول اسباق (3/4)
نفی: `[^...]`
بریکٹ کے اندر پہلے کریکٹر کے طور پر ایک کیریٹ ^ رکھنا
کلاس کو الٹا کرتا ہے: یہ کسی بھی حرف سے مماثل ہے سوائے درج کردہ۔
Pattern: [^aeiou]
Sample: ciao mondo
^ ^^ ^[^aeiou] تلفظ، خالی جگہوں، اوقاف، ہندسے\u2026 ہر چیز سے میل کھاتا ہے
ایک حرف نہیں ہے۔
عام مثالیں۔
[^\s]-- کوئی بھی "غیر جگہ" حرف (\Sکے برابر)۔[^0-9]-- کوئی بھی چیز جو ہندسہ نہ ہو (\Dکے برابر)۔[^"]+-- "حروف کی ایک ترتیب جو دوہرے اقتباسات نہیں ہیں" (اس کے لیے مفید اقتباسات کے درمیان مواد نکالیں)۔
Pattern: "([^"]+)"
Sample: Il libro "Il nome della rosa" e' famoso.گروپ ([^"]+) حوالہ جات روکنے کے درمیان ہر چیز کو پکڑتا ہے۔
اگلی " سے پہلے: اس سے بچنے کی یہ ایک کلاسک چال ہے۔
لالچی بمقابلہ سست مسئلہ۔
نفی اور متبادل وائلڈ کارڈز
نفی شدہ کلاس [^...] بالکل ایک حرف استعمال کرتی ہے جو درج فہرست کا حصہ نہیں ہے۔ لامحدود بیک ٹریکنگ لوپس کی وجہ سے ہونے والے ReDoS سے گریز کرتے ہوئے، انجن کو ماضی کے اہم حد بندیوں کو چلانے سے روکنے کے لیے یہ ایک طاقتور ٹول ہے۔
اسے آزمائیں
دوہرے اقتباسات کے درمیان ہر اسٹرنگ کا مواد نکالیں، بغیر اقتباسات کو خود کیپچر کیے۔
اشارہ دکھائیں۔
.+ کو [^"]+ سے بدلیں: اس طرح میچ اگلے اقتباس پر رک جاتا ہے۔
3 کوششوں کے بعد حل دستیاب ہے۔
ورزش کا جائزہ لیں۔
صرف حرفوں سے بنا ہر لفظ تلاش کریں (کوئی حرف نہیں، کوئی ہندسہ نہیں، کوئی علامت نہیں)۔
اشارہ دکھائیں۔
بریکٹ کے اندر آپ حرف نفی کو \\W (غیر لفظ) اور \\d (ہدوں) کے ساتھ جوڑ سکتے ہیں۔
3 کوششوں کے بعد حل دستیاب ہے۔
اضافی چیلنج
واضح طور پر خالی جگہ اور کوما کو چھوڑ کر، ایک یا زیادہ حروف کے سلسلے کو میچ کریں۔
اشارہ دکھائیں۔
+ کوانٹیفائر کے ساتھ [^\\s,] استعمال کریں۔
3 کوششوں کے بعد حل دستیاب ہے۔