JavaScript တွင် ရီဂျူလာအစားထိုးနည်းလမ်းများတွင် အုပ်စုများ (Capture Groups)

replace နည်းလမ်းကို အသုံးပြုသောအခါ၊ ရီဂျူလာတွင် ကျွန်ုပ်တို့ အုပ်စုတစ်ခုခုကို ဖန်တီးလိုက်လျှင်၊ အစားထိုးမည့်စာသားတွင် ထိုအုပ်စုထဲရှိ အကြောင်းအရာများကို ဒေါ်လာသင်္ကေတ $ နောက်တွင် အုပ်စုနံပါတ် ရေးထည့်ခြင်းဖြင့် ထည့်သွင်းနိုင်ပါသည်။ ဥပမာအားဖြင့်၊ $1 သည် ပထမအုပ်စု၊ $2 သည် ဒုတိယအုပ်စု စသည်ဖြင့် ဖြစ်ပါသည်။

၎င်းကို မည်သည့်အတွက် လိုအပ်ပြီး မည်သို့အသုံးပြုရမည်ကို ဥပမာများဖြင့် ကြည့်ရှုလေ့လာကြပါစို့။

ဥပမာ

ဂဏန်းအားလုံးကို ရှာဖွေပြီး ၎င်းတို့အစား ကွင်းလုံးထဲတွင်ထည့်ထားသော ထိုဂဏန်းများကို ပြန်လည်ထည့်သွင်းကြည့်ကြပါစို့။ ၎င်းအတွက် ရှာတွေ့သော ဂဏန်းအားလုံးကို ၎င်းတို့ကိုယ်တိုင်နှင့် အစားထိုးမည်ဖြစ်သော်လည်း ကွင်းခတ်ထားသည့် ပုံစံဖြင့် ဖြစ်ပါသည်။

javascriptlet str = '1 23 456 xax';
let res = str.replace(/(\d+)/g, '($1)');

ရလဒ်အနေဖြင့် အောက်ပါအတိုင်း ကိန်းရှင်ထဲသို့ ရေးသွင်းသွားပါမည်။

javascript'(1) (23) (456) xax'

ဥပမာ

x များဖြင့် ဝန်းရံထားသော ဂဏန်းစာသားများအားလုံးကို ရှာဖွေပြီး ထိုဂဏန်းများကို ၎င်းတို့ကိုယ်တိုင် ဖြစ်သော်လည်း ဘေးနှစ်ဘက် '!' သင်္ကေတများဖြင့် အစားထိုးကြည့်ကြပါစို့။

javascriptlet str = 'x1x x23x x456x xax';
let res = str.replace(/x(\d+)x/g, '!$1!');

ရလဒ်အနေဖြင့် အောက်ပါအတိုင်း ကိန်းရှင်ထဲသို့ ရေးသွင်းသွားပါမည်။

javascript'!1! !23! !456! xax'

ဥပမာ

အောက်ပါ ပြဿနာကို ဖြေရှင်းကြည့်ပါမည်။ 'aaa@bbb' ပုံစံရှိသော စာသားများရှိသည် - စာလုံးများ၊ ထို့နောက် @ သင်္ကေတ၊ ထို့နောက် စာလုံးများ။ @ မတိုင်မီနှင့် @ ပြီးနောက်ရှိ စာလုံးများကို နေရာလဲလှယ်ရန် လိုအပ်သည်။

javascriptlet str = 'aaa@bbb ccc@ddd';
let res = str.replace(/([a-z]+)@([a-z]+)/g, '$2@$1');

ရလဒ်အနေဖြင့် အောက်ပါအတိုင်း ကိန်းရှင်ထဲသို့ ရေးသွင်းသွားပါမည်။

javascript'bbb@aaa ddd@ccc'

လက်တွေ့လေ့ကျင့်ခန်းများ

Задание 1

အောက်ပါ စာသားတစ်ခု ရှိသည်။

javascriptlet str = '12 34 56 78';

နှစ်လုံးပါ ဂဏန်းအားလုံးတွင် ဂဏန်းများ၏ နေရာကို လဲလှယ်ပါ။

Задание 2

ရက်စွဲပါသော စာသားတစ်ခု ရှိသည်။

javascriptlet str = '31.12.2025';

ထိုရက်စွဲကို '2025.12.31' သို့ ပြောင်းလဲပါ။