মূল কন্টেন্টে যান
মডিউল 6 · 2-এর পাঠ 4কোর্সে 22/32~10 min
মডিউল পাঠ (2/4)

নেতিবাচক দৃষ্টিভঙ্গি: `(?!...)`

নেতিবাচক দৃষ্টিভঙ্গি (?!...) হল ইতিবাচক দৃষ্টিভঙ্গির অন্ধকার বোন: প্রদত্ত প্যাটার্ন বর্তমান অবস্থান অনুসরণ না করা প্রয়োজন. এটা এখনও শূন্য-প্রস্থ: কোনো অক্ষর ব্যবহার করা হয় না।

Code
Pattern: \d+(?! euro)
Sample:  Prezzo 100 euro, sconto 25 euro, totale 75 dollari.
                                          ^^

শুধুমাত্র 75 মেলে, কারণ এটি সংখ্যার একমাত্র ক্রম যা অনুসরণ করা হয় না euro 100 এবং 25 এর পরে euro এবং বাদ

সাধারণ নেতিবাচক চেহারা নিদর্শন

  • ^(?!.*errore).*$ -- একটি লাইন যাতে "ত্রুটি" শব্দটি থাকে না।
  • \b(?!the\b)\w+\b -- একটি শব্দ যা the নয়।
  • (?!\s) -- বর্তমান অবস্থানটি একটি সাদা স্থান নয় (একটি "ট্রিম" হিসাবে দরকারী)।
Code
Pattern: ^(?!.*\.bak$).*$
Sample (multiline with flag m):
  foto.jpg
  backup.bak
  documento.txt
Match: foto.jpg, documento.txt (excludes backup.bak)

নেতিবাচক দৃষ্টিভঙ্গির মাধ্যমে উন্নত বর্জন

নেতিবাচক দৃষ্টিভঙ্গি (?!...) এক্সক্লুশন লজিক বাস্তবায়নের জন্য অপরিহার্য (যেমন একটি পাসওয়ার্ডে অভিধানের শব্দ নেই বা শনাক্তকারী class বা function এর মতো একটি সংরক্ষিত কীওয়ার্ড নয় তা যাচাই করা)।

চেষ্টা করে দেখুন

ব্যায়াম#regex.m6.l2.e1
প্রচেষ্টা: 0লোড হচ্ছে...

'ইউরো' দ্বারা অনুসরণ না করা প্রতিটি সংখ্যা খুঁজুন (তাই ইউরো দাম বাদ দিয়ে)।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

'অনুসরণ করা উচিত নয়' বলার জন্য (?! ...) ব্যবহার করুন। `ইউরো` ক্রমটি অবশ্যই পরে উপস্থিত হবে না।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ

ব্যায়াম পর্যালোচনা করুন

ব্যায়াম#regex.m6.l2.e2
প্রচেষ্টা: 0লোড হচ্ছে...

কমপক্ষে 3টি অক্ষরের প্রতিটি শব্দ খুঁজুন যা 'দ্য' নয় (কেস-সংবেদনশীল)।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

ঠিক পরে \\b একটি নেতিবাচক দৃষ্টিভঙ্গি খুলুন (?!the\\b) যা শুধুমাত্র শব্দটি বাদ দেয়।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ

অতিরিক্ত চ্যালেঞ্জ

ব্যায়াম#regex.m6.l2.e3
প্রচেষ্টা: 0লোড হচ্ছে...

Find all words consisting of letters that do not contain the letter `x` at any position (e.g. match `test`, `game` but not `extra`, `box`).

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

শব্দ সীমানা \\b এর ঠিক পরে একটি নেতিবাচক লুকআহেড (?!\\w*x) ব্যবহার করুন।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ