JavaScript တွင် ရီဂျူလာအစားထိုးနည်းလမ်းများတွင် အုပ်စုများ (Capture Groups)
replace နည်းလမ်းကို အသုံးပြုသောအခါ၊
ရီဂျူလာတွင် ကျွန်ုပ်တို့ အုပ်စုတစ်ခုခုကို ဖန်တီးလိုက်လျှင်၊
အစားထိုးမည့်စာသားတွင် ထိုအုပ်စုထဲရှိ အကြောင်းအရာများကို
ဒေါ်လာသင်္ကေတ $ နောက်တွင် အုပ်စုနံပါတ် ရေးထည့်ခြင်းဖြင့် ထည့်သွင်းနိုင်ပါသည်။ ဥပမာအားဖြင့်၊ $1 သည် ပထမအုပ်စု၊ $2 သည် ဒုတိယအုပ်စု စသည်ဖြင့် ဖြစ်ပါသည်။
၎င်းကို မည်သည့်အတွက် လိုအပ်ပြီး မည်သို့အသုံးပြုရမည်ကို ဥပမာများဖြင့် ကြည့်ရှုလေ့လာကြပါစို့။
ဥပမာ
ဂဏန်းအားလုံးကို ရှာဖွေပြီး ၎င်းတို့အစား ကွင်းလုံးထဲတွင်ထည့်ထားသော ထိုဂဏန်းများကို ပြန်လည်ထည့်သွင်းကြည့်ကြပါစို့။ ၎င်းအတွက် ရှာတွေ့သော ဂဏန်းအားလုံးကို ၎င်းတို့ကိုယ်တိုင်နှင့် အစားထိုးမည်ဖြစ်သော်လည်း ကွင်းခတ်ထားသည့် ပုံစံဖြင့် ဖြစ်ပါသည်။
let str = '1 23 456 xax';
let res = str.replace(/(\d+)/g, '($1)');
ရလဒ်အနေဖြင့် အောက်ပါအတိုင်း ကိန်းရှင်ထဲသို့ ရေးသွင်းသွားပါမည်။
'(1) (23) (456) xax'
ဥပမာ
x များဖြင့် ဝန်းရံထားသော ဂဏန်းစာသားများအားလုံးကို ရှာဖွေပြီး ထိုဂဏန်းများကို ၎င်းတို့ကိုယ်တိုင် ဖြစ်သော်လည်း ဘေးနှစ်ဘက် '!' သင်္ကေတများဖြင့် အစားထိုးကြည့်ကြပါစို့။
let str = 'x1x x23x x456x xax';
let res = str.replace(/x(\d+)x/g, '!$1!');
ရလဒ်အနေဖြင့် အောက်ပါအတိုင်း ကိန်းရှင်ထဲသို့ ရေးသွင်းသွားပါမည်။
'!1! !23! !456! xax'
ဥပမာ
အောက်ပါ ပြဿနာကို ဖြေရှင်းကြည့်ပါမည်။ 'aaa@bbb' ပုံစံရှိသော စာသားများရှိသည် - စာလုံးများ၊ ထို့နောက် @ သင်္ကေတ၊ ထို့နောက် စာလုံးများ။ @ မတိုင်မီနှင့် @ ပြီးနောက်ရှိ စာလုံးများကို နေရာလဲလှယ်ရန် လိုအပ်သည်။
let str = 'aaa@bbb ccc@ddd';
let res = str.replace(/([a-z]+)@([a-z]+)/g, '$2@$1');
ရလဒ်အနေဖြင့် အောက်ပါအတိုင်း ကိန်းရှင်ထဲသို့ ရေးသွင်းသွားပါမည်။
'bbb@aaa ddd@ccc'
လက်တွေ့လေ့ကျင့်ခန်းများ
အောက်ပါ စာသားတစ်ခု ရှိသည်။
let str = '12 34 56 78';
နှစ်လုံးပါ ဂဏန်းအားလုံးတွင် ဂဏန်းများ၏ နေရာကို လဲလှယ်ပါ။
ရက်စွဲပါသော စာသားတစ်ခု ရှိသည်။
let str = '31.12.2025';
ထိုရက်စွဲကို '2025.12.31' သို့ ပြောင်းလဲပါ။