ماڈیول اسباق (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` کا نام دیا جائے۔
اشارہ دکھائیں۔
نحو: (?<name> پیٹرن)۔ میچ 'نام' اندراج کے تحت گروپوں کو دکھاتا ہے۔
3 کوششوں کے بعد حل دستیاب ہے۔
ورزش کا جائزہ لیں۔
لگاتار ڈپلیکیٹ الفاظ تلاش کریں (جیسے `il il`، `casa casa`)۔ پہلے والے کے لیے ایک گروپ اور دوسرے کے لیے پیچھے کا حوالہ `\\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 کوششوں کے بعد حل دستیاب ہے۔