मॉड्यूल पाठ (4/4)
नामित समूह और बैक-रेफरेंस
जब समूहों की संख्या बढ़ती है, तो याद रखें कि $2 "महीना" है और $5
"वर्ष" नाजुक हो जाता है. (?<name>...) सिंटैक्स आपको इसकी सुविधा देता है
नाम एक समूह: आप इसे groups.name के माध्यम से नाम से एक्सेस करते हैं (और इसमें
$<name> के रूप में प्रतिस्थापन)।
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>-- नामित संदर्भ।
Pattern: \b(\w+)\s+\1\b
Sample: un test un test il il gatto
^^^^^यह लगातार डुप्लिकेट शब्दों से मेल खाता है: (\w+) एक शब्द को कैप्चर करता है, फिर
\s+\1 को एक स्थान और समान शब्द की आवश्यकता है।
स्व-दस्तावेजीकरण कोड और नामित बैक-रेफरेंस
नामित समूह जावास्क्रिप्ट कोड की पठनीयता में सुधार करते हैं: match[1] को संदर्भित करने के बजाय, आप match.groups.name तक पहुंचते हैं। पैटर्न के अंदर, उनका संदर्भ \\k<name> सिंटैक्स के साथ किया जाता है।
इसे अजमाएं
YYYY-MM-DD प्रारूप में प्रत्येक दिनांक ढूंढें, जिसमें समूहों का नामकरण `anno`, `mese`, `giorno` है।
संकेत दिखाएँ
सिंटैक्स: (?<नाम>पैटर्न). मिलान 'नामांकित' प्रविष्टि के अंतर्गत समूहों को दिखाता है।
3 प्रयासों के बाद समाधान उपलब्ध है
व्यायाम की समीक्षा करें
लगातार डुप्लिकेट शब्द ढूंढें (उदाहरण के लिए `आईएल आईएल`, `कासा कासा`)। पहले के लिए एक समूह का उपयोग करें और दूसरे के लिए बैकरेफरेंस `\\1` का उपयोग करें।
संकेत दिखाएँ
\\b(\\w+)\\s+\\1\\b: पहला शब्द है (\\w+), फिर एक स्पेस, फिर वही शब्द \\1।
3 प्रयासों के बाद समाधान उपलब्ध है
अतिरिक्त चुनौती
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 प्रयासों के बाद समाधान उपलब्ध है