মূল কন্টেন্টে যান
মডিউল 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 প্রচেষ্টার পরে উপলব্ধ