Python တွင် အစားထိုးခြင်းကြိုးတန်းထဲရှိ အိတ်ကပ်များ

sub method ဖြင့် အလုပ်လုပ်သည့်အခါ၊ regex ထဲတွင် တစ်ခုခုကို အိတ်ကပ်ထဲထည့်ထားလိုပါက၊ အစားထိုးခြင်းကြိုးတန်းထဲတွင် ထိုအိတ်ကပ်၏ အကြောင်းအရာကို double backslash \ ပြီးနောက် အိတ်ကပ်နံပါတ်ကို ရေးသားခြင်းဖြင့် ထည့်သွင်းနိုင်သည်။ ဥပမာ၊ \1 - ပထမအိတ်ကပ်၊ \2 - ဒုတိယအိတ်ကပ် စသည်ဖြင့်။

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

ဥပမာ

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

pythontxt = '1 23 456 xax'

res = re.sub('(\d+)', '(\1)', txt)
print(res)

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

python'(1) (23) (456) xax'

ဥပမာ

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

pythontxt = 'x1x x23x x456x xax'

res = re.sub('x(\d+)x', '!\1!', txt)
print(res)

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

python'!1! !23! !456! xax'

ဥပမာ

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

pythontxt = 'aaa@bbb ccc@ddd'
res = re.sub('([a-z]+)@([a-z]+)', '\2@\1', txt)

print(res)

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

python'bbb@aaa ccc@ddd'

လက်တွေ့ကျသော ပြဿနာများ

Задание 1

ကြိုးတန်းကို ပေးထားသည် -

pythontxt = '12 34 56 78'

နှစ်လုံးပါ ကိန်းအားလုံးတွင် ဂဏန်းများကို အပြန်အလှန် အစားထိုးပါ။

Задание 2

ရက်စွဲပါ ကြိုးတန်းကို ပေးထားသည် -

pythontxt = '31.12.2025'

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