Python တွင် အစားထိုးခြင်းကြိုးတန်းထဲရှိ အိတ်ကပ်များ
sub method ဖြင့် အလုပ်လုပ်သည့်အခါ၊ regex ထဲတွင် တစ်ခုခုကို အိတ်ကပ်ထဲထည့်ထားလိုပါက၊
အစားထိုးခြင်းကြိုးတန်းထဲတွင် ထိုအိတ်ကပ်၏ အကြောင်းအရာကို double backslash \
ပြီးနောက် အိတ်ကပ်နံပါတ်ကို ရေးသားခြင်းဖြင့် ထည့်သွင်းနိုင်သည်။ ဥပမာ၊ \1 -
ပထမအိတ်ကပ်၊ \2 - ဒုတိယအိတ်ကပ်
စသည်ဖြင့်။
ဤအရာက ဘာအတွက် လိုအပ်ပြီး မည်သို့အသုံးပြုရမည်ကို ဥပမာများဖြင့် ကြည့်ကြပါစို့။
ဥပမာ
နံပါတ်အားလုံးကို ရှာဖွေပြီး ၎င်းတို့အစား ထိုနံပါတ်များအား ကွင်းစကွင်းပတ်ထဲတွင် ထည့်ကြပါစို့။ ဤအတွက် ရှာတွေ့သော နံပါတ်အားလုံးကို ၎င်းတို့ကိုယ်တိုင်နှင့် အစားထိုးသော်လည်း ကွင်းထဲတွင် ထည့်ထားသည် -
txt = '1 23 456 xax'
res = re.sub('(\d+)', '(\1)', txt)
print(res)
ရလဒ်အနေဖြင့် variable ထဲသို့ �ောက်ပါအတိုင်း ရေးမှတ်သွားမည် -
'(1) (23) (456) xax'
ဥပမာ
x များဖြင့် ဝန်းရံထားသော နံပါတ်များကိုယူစရာ
ကြိုးတန်းအားလုံးကို ရှာဖွေပြီး ထိုနံပါတ်များကို
၎င်းတို့ကိုယ်တိုင်နှင့် အစားထိုးသော်လည်း '!' သင်္ကေတများဖြင့်
ဝန်းရံထားသည့် ပုံစံသို့ ပြောင်းလဲကြပါစို့ -
txt = 'x1x x23x x456x xax'
res = re.sub('x(\d+)x', '!\1!', txt)
print(res)
ရလဒ်အနေဖြင့် variable ထဲသို့ �ောက်ပါအတိုင်း ရေးမှတ်သွားမည် -
'!1! !23! !456! xax'
ဥပမာ
အောက်ပါ ပြဿနာကို ဖြေရှင်းကြပါစို့ - ကြိုးတန်း
'aaa@bbb ccc@ddd' ကို ပေးထားသည် - စာလုံးများ၊ ထို့နောက်
at sign၊ ထို့နောက် စာလုံးများ။ 'aaa@bbb' ကြိုးခွဲထဲရှိ
စာလုံးများကို '@' မတိုင်မီနှင့် နောက်ပိုင်း၌
အပြန်အလှန် အစားထိုးရန် လိုအပ်သည် -
txt = 'aaa@bbb ccc@ddd'
res = re.sub('([a-z]+)@([a-z]+)', '\2@\1', txt)
print(res)
ရလဒ်အနေဖြင့် variable ထဲသို့ အောက်ပါအတိုင်း ရေးမှတ်သွားမည် -
'bbb@aaa ccc@ddd'
လက်တွေ့ကျသော ပြဿနာများ
ကြိုးတန်းကို ပေးထားသည် -
txt = '12 34 56 78'
နှစ်လုံးပါ ကိန်းအားလုံးတွင် ဂဏန်းများကို အပြန်အလှန် အစားထိုးပါ။
ရက်စွဲပါ ကြိုးတန်းကို ပေးထားသည် -
txt = '31.12.2025'
ဤရက်စွဲကို '2025.12.31' သို့ ပြောင်းလဲပါ။