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

নামযুক্ত গ্রুপ এবং ব্যাক-রেফারেন্স

যখন গোষ্ঠীর সংখ্যা বাড়বে, মনে রাখবেন যে $2 হল "মাস" এবং $5 হয় "বছর" ভঙ্গুর হয়. (?<name>...) সিনট্যাক্স আপনাকে অনুমতি দেয় নাম একটি গোষ্ঠী: আপনি groups.name এর মাধ্যমে নাম অনুসারে এটি অ্যাক্সেস করেন (এবং $<name> হিসাবে প্রতিস্থাপন)।

Code
Pattern: (?<anno>\d{4})-(?<mese>\d{2})-(?<giorno>\d{2})
Sample:  2024-03-15
Gruppi:
  anno    = "2024"
  mese    = "03"
  giorno  = "15"

সম্পাদক ম্যাচের পাশে নামযুক্ত গ্রুপগুলি দেখায়।

ব্যাকরেফারেন্স

একটি ব্যাক রেফারেন্স আপনাকে উল্লেখ করতে দেয়, একই প্যাটার্নের ভিতরে, পূর্ববর্তী ক্যাপচারে। সিনট্যাক্স:

  • \1, \2, … -- নম্বরযুক্ত রেফারেন্স (গ্রুপ 1, 2, …)।
  • \k<name> -- নামের রেফারেন্স।
Code
Pattern: \b(\w+)\s+\1\b
Sample:  un test un test il il gatto
                                ^^^^^

এটি পরপর ডুপ্লিকেট শব্দ মেলে: (\w+) একটি শব্দ ক্যাপচার করে, তারপর \s+\1-এর জন্য একটি স্থান এবং একই শব্দ প্রয়োজন।

স্ব-ডকুমেন্টিং কোড এবং নামযুক্ত ব্যাক-রেফারেন্স

নামযুক্ত গোষ্ঠীগুলি জাভাস্ক্রিপ্ট কোডের পঠনযোগ্যতা উন্নত করে: match[1] উল্লেখ করার পরিবর্তে, আপনি match.groups.name অ্যাক্সেস করেন। প্যাটার্নের ভিতরেই, সেগুলিকে উল্লেখ করা \\k<name> সিনট্যাক্স দিয়ে করা হয়৷

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

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

YYYY-MM-DD ফর্ম্যাটে প্রতিটি তারিখ খুঁজুন `anno`, `mese`, `giorno` গ্রুপগুলোর নামকরণ করে।

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

সিনট্যাক্স: (?&lt;নাম&gt;প্যাটার্ন)। ম্যাচটি 'নামযুক্ত' এন্ট্রির অধীনে গ্রুপগুলি দেখায়।

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

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

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

পরপর ডুপ্লিকেট শব্দ খুঁজুন (যেমন `il il`, `casa casa`)। প্রথমটির জন্য একটি গ্রুপ এবং দ্বিতীয়টির জন্য একটি ব্যাক রেফারেন্স `\\1` ব্যবহার করুন।

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

\\b(\\w+)\\s+\\1\\b: প্রথম শব্দটি (\\w+), তারপর একটি স্থান, তারপর একই শব্দ \\1।

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

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

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

Find HTML/XML tag pairs (e.g. `**text**` or `*text*`) ensuring that the closing tag matches the opening tag using a named backreference.

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

নাম বরাদ্দ করুন (?<tag>\\w+) এবং এটি \\k<tag> দিয়ে বন্ধ করুন।

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