মডিউল পাঠ (3/4)
ওয়াইল্ডকার্ড: বিন্দু `.`
রেজেক্সে ডট . হল ওয়াইল্ডকার্ড: এটি যেকোন একক সাথে মেলে
অক্ষর\u2026 একটি গুরুত্বপূর্ণ ব্যতিক্রম সহ: এটি এর সাথে মেলে না
newline (\n)।
Pattern: c.t
Sample: cat cot cut c@t c\nt
^^^ ^^^ ^^^ ^^^তিনটি অক্ষর: একটি c, যেকোনো অক্ষর, একটি t। এর মধ্যে কোনো নতুন লাইন নেই, তাই c\nt
মেলে না (ডিফল্টরূপে)।
বিন্দুটি অত্যন্ত দরকারী কিন্তু বিপজ্জনক: এটি শৃঙ্খলা ছাড়াই ব্যবহৃত হয়
আপনার ইচ্ছার চেয়ে বেশি ক্যাপচার করে। মডিউল 2-এ কোয়ান্টিফায়ারের সাথে মিলিত
(.*, .+?) এটি 90% প্যাটার্নের উত্স যে "আমি যেভাবে কাজ করি না
প্রত্যাশিত"
s পতাকা: "ডটঅল"
s পতাকার সাথে (যাকে ডটঅল বা একক লাইনও বলা হয়) বিন্দু মেলে
প্রতি অক্ষর, নতুন লাইন অন্তর্ভুক্ত। যে স্প্যান ব্লক নিষ্কাশন দরকারী
একাধিক লাইন।
Pattern: <p>.*</p>
Flag: gs
Sample: <p>prima\nseconda</p>
^^^^^^^^^^^^^^^^^^^^^ডট ওয়াইল্ডকার্ডের সীমা এবং আচরণ
ডট . একটি শক্তিশালী ওয়াইল্ডকার্ড, কিন্তু ডিফল্টরূপে এটি নতুন লাইনের অক্ষরের সাথে মেলে না (\\n)। আপনি যদি চান যে বিন্দুটি নতুন লাইন সহ একেবারে সবকিছুর সাথে মিলে যায়, তাহলে আপনাকে অবশ্যই s (ডটঅল) পতাকা সক্ষম করতে হবে৷ কোয়ান্টিফায়ার (.*) এর সাথে ডট একত্রিত করার সময় সতর্কতা অবলম্বন করুন, কারণ এটি অত্যধিক পাঠ্য (লোভী আচরণ) ব্যবহার করে।
চেষ্টা করে দেখুন
বন্ধনী দ্বারা সীমাবদ্ধ অক্ষরের প্রতিটি ট্রিপলেট খুঁজুন, যেমন `(abc)`, `(xyz)`। 3টি ভিতরের অক্ষরের জন্য ওয়াইল্ডকার্ড ব্যবহার করুন।
ইঙ্গিত দেখান
তিনটি স্বেচ্ছাচারী অক্ষরের জন্য তিনটি বিন্দু। বন্ধনীগুলি হল মেটা-অক্ষর: তাদের অবশ্যই \\ দিয়ে এস্কেপ করতে হবে।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
ব্যায়াম পর্যালোচনা করুন
`[INIZIO]` এবং `[FINE]` এর মধ্যে ব্লকটি বের করুন, যা একাধিক লাইন স্প্যান করতে পারে। আপনার প্রয়োজন হবে `s` পতাকা যাতে ডটটিও নতুন লাইনের সাথে মেলে এবং কোয়ান্টিফায়ারের 'অলস' সংস্করণ (`.*?`, মডিউল 2)।
ইঙ্গিত দেখান
s পতাকা ছাড়া, লাইনের শেষে বিন্দু থেমে যায়: এটি যোগ করুন। ফর্ম .*? (অলস) প্রথম [ফাইনে] ম্যাচ বন্ধ করে দেয়।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
অতিরিক্ত চ্যালেঞ্জ
Find all 3-character sequences starting with `c` and ending with `t` (e.g. `cat`, `cot`, `c-t`).
ইঙ্গিত দেখান
প্যাটার্ন ডট ব্যবহার করে '.' ওয়াইল্ডকার্ড মধ্যম অক্ষর প্রতিনিধিত্ব করতে.
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ