مرکزی مواد پر جائیں
ماڈیول 7 · سبق 2 از 4کورس میں 26/32~10 min
ماڈیول اسباق (2/4)

بنیادی تبدیلی اور `$1`

JavaScript میں، String.prototype.replace(regex, replacement) کارکردگی کا مظاہرہ کرتا ہے۔ پیٹرن میچ کرتا ہے اور ہر میچ کو دی گئی سٹرنگ سے بدل دیتا ہے۔ g کے ساتھ پرچم یہ تمام میچوں کی جگہ لے لیتا ہے۔ اس کے بغیر، صرف پہلا. replaceAll عالمی رویے کو مجبور کرتا ہے (اور ریجیکس پر g پرچم کی ضرورت ہے)۔

JS
'ciao mondo'.replace(/o/g, '0'); // "cia0 m0nd0"
'Mario Rossi'.replace(/(\w+) (\w+)/, '$2 $1'); // "Rossi Mario"

متبادل سٹرنگ میں حوالہ جات

متبادل سٹرنگ کے اندر، یہ خاص ہیں:

  • $1, $2, \u2026 -- ریجیکس کے نمبر والے گروپ کا پیچھے حوالہ۔
  • $<name> -- نام والے گروپ کا بیک حوالہ۔
  • $& -- پورا میچ۔
  • $\_` -- text before the match.
  • $' -- text after the match.
  • $$ -- a single literal $۔
JS
const data = '2024-03-15';
data.replace(/(\d{4})-(\d{2})-(\d{2})/, '$3/$2/$1');
// "15/03/2024"

آرڈر کو الٹ کر تاریخ کو دوبارہ فارمیٹ کریں۔ ریجیکس میں 3 گروپس ہیں، اور میں متبادل سٹرنگ آپ انہیں $1، $2، $3 کے طور پر حوالہ دیتے ہیں۔

تبدیلیوں میں خصوصی حوالہ جات

$1 اور $2 کے علاوہ، آپ پورے مماثل متن کو داخل کرنے کے لئے $& استعمال کر سکتے ہیں، $ for all text preceding the match, and$'` اس کے بعد آنے والے تمام متن کے لئے۔ یہ جے ایس کوڈ لکھے بغیر بھی بھرپور تبدیلیوں کی اجازت دیتا ہے۔

اسے آزمائیں

ورزش#regex.m7.l2.e1
کوششیں: 0لوڈ ہو رہا ہے…

ہر تاریخ کو YYYY-MM-DD فارمیٹ میں تین گروپس (سال، مہینہ، دن) کے ساتھ تلاش کریں۔ اس طرح آپ DD/MM/YYYY حاصل کرنے کے لیے تبدیلی کا استعمال کر سکتے ہیں۔

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

\\d+ کو \\d{4}، \\d{2}، \\d{2} کو تین گروپوں کے اندر (...) سے تبدیل کریں۔

3 کوششوں کے بعد حل دستیاب ہے۔

ورزش کا جائزہ لیں۔

ورزش#regex.m7.l2.e2
کوششیں: 0لوڈ ہو رہا ہے…

'پہلی آخری' کو دو نامزد گروپوں 'نوم' اور 'کوگنوم' کے طور پر تلاش کریں، تاکہ آپ اسے `$<cognome>, $<nome>` کا استعمال کرتے ہوئے `cognome, nome` کے طور پر دوبارہ لکھ سکیں۔

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

(?<nome>\\w+) اور (?<cognome>\\w+) کو \\s+ سے الگ کرکے استعمال کریں۔

3 کوششوں کے بعد حل دستیاب ہے۔

اضافی چیلنج

ورزش#regex.m7.l2.e3
کوششیں: 0لوڈ ہو رہا ہے…

Create a capture pattern to reverse the order of first and last name from `Lastname, Firstname` format to `Firstname Lastname`.

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

Use two capture groups for last and first name; the replacement will be performed via $2 $1.

3 کوششوں کے بعد حل دستیاب ہے۔