Python search မှာ group အသုံးပြုခြင်း
တိုက်ဆိုင်မှုရှာတဲ့အခါ စာကြောင်းခွဲကို group လို့ခေါ်တဲ့အပိုင်းတွေအဖြစ် ခွဲခြားသိမ်းတာက မကြာခဏ အဆင်ပြေပါတယ်။ ဒါဟာ ရှာတွေ့တာကို သီးခြားအပိုင်းတွေအဖြစ် ခွဲခြမ်းလိုက်တဲ့ နည်းလမ်းတစ်ခုပါပဲ။ သူတို့ကိုသုံးဖို့ regular expression ရဲ့ အပိုင်းတစ်ခုကို ကွင်းစကွင်းပိတ် ( ) ထဲမှာ ထည့်ရေးရပါတယ်။
လက်တွေ့စမ်းကြည့်ရအောင်။ ကျွန်တော်တို့မှာ အောက်ပါစာကြောင်းရှိတယ်ဆိုပါစို့:
txt = '123 456'
နံပါတ်တွေပါတဲ့ စာကြောင်းခွဲတွေကို group တွေအဖြစ် ခွဲကြည့်ရအောင်။ ဒါအတွက် အောက်က regular expression ကိုရေးမယ်:
res = re.search('(\d+) (\d+)', txt)
ရလဒ်အနေနဲ့ match-object တစ်ခု ရပါလိမ့်မယ်။
သူ့ရဲ့ index 1 နဲ့ element မှာ ပထမ group ရှိမယ်၊ index 2 နဲ့ element မှာ ဒုတိယ group ရှိမယ်၊ index 0 နဲ့ element မှာတော့ ရှာတွေ့သမျှအကုန် (သုည group လို့ခေါ်တယ်) ရှိမယ်:
print(res[0]) # '123 456' - ရှာတွေ့သမျှ
print(res[1]) # '123' - group 1
print(res[2]) # '456' - group 2
domain ပါတဲ့ စာကြောင်းတစ်ခုကို ပေးထားပါတယ်:
txt = 'sss domain.ru zzz'
ဒီ domain ကိုရှာပြီး သူ့ရဲ့အမည်ကို ပထမ group မှာ၊ zone ကို ဒုတိယ group မှာ ထည့်ပါ။
ရက်စွဲပါတဲ့ စာကြောင်းတစ်ခုကို ပေးထားပါတယ်:
txt = '31.12.2025'
နေ့ကို ပထမ group မှာ၊ လကို ဒုတိယ group မှာ၊ နှစ်ကို တတိယ group မှာ ထည့်ပါ။