মূল কন্টেন্টে যান
মডিউল 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)

লুকবিহাইন্ড + লুকআহেড + অলস কোয়ান্টিফায়ার: কন্টেন্ট ভিতরে বের করে বন্ধনী তাদের অন্তর্ভুক্ত না করে।

তাকানো এবং পিছনে তাকান

লুকআহেড এবং লুক বিহাইন্ড একসাথে ব্যবহার করলে নির্দিষ্ট ট্যাগ বা ফরম্যাটের মধ্যে থাকা স্ট্রিংগুলিকে আলাদা করার অনুমতি দেয় (যেমন ফাইনাল ম্যাচে ট্যাগগুলি অন্তর্ভুক্ত না করে দুটি ট্যাগের মধ্যে পাঠ্য বের করা)। এটি পরবর্তী স্ট্রিং ক্লিনআপ অপারেশন এড়িয়ে যায়।

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

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

লগ থেকে প্রতিটি `কী=মান` অ্যাসাইনমেন্টের মান বের করুন: শুধুমাত্র মান (কোন কী নেই, `=` নেই)। মানগুলিতে অক্ষর এবং সংখ্যা থাকতে পারে।

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

একটি লুক বিহাইন্ড (?<==) এর ভিতরে `=` সরান: এইভাবে ম্যাচটিতে শুধুমাত্র মান থাকে।

সমাধান 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 প্রচেষ্টার পরে উপলব্ধ