مرکزی مواد پر جائیں
ماڈیول 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` کا نام دیا جائے۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

نحو: (?<name> پیٹرن)۔ میچ 'نام' اندراج کے تحت گروپوں کو دکھاتا ہے۔

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 کوششوں کے بعد حل دستیاب ہے۔