⊗pyPmRENPB 71 of 129 menu

Python ရှိ Regular Expression များတွင် Non-Capturing Parentheses များ

ကွင်းစကွင်းပိတ် ( ) တွေက အလုပ်နှစ်မျိုးလုပ်ပါတယ် - �ာလုံးများကို အုပ်စုဖွဲ့ခြင်းနှင့် capturing group (ကပ်မှတ်) အဖြစ်လုပ်ဆောင်ခြင်းပဲဖြစ်ပါတယ်။ ဒါဆို အုပ်စုဖွဲ့ချင်ပေမယ့် capturing group ထဲ မထည့်ချင်ဘူးဆိုရင်ကော ဘယ်လိုလုပ်မလဲ။ ဒီပြဿနာကိုဖြေရှင်းဖို့အတွက် �ထူး non-capturing parentheses (?: ) ကိုတီထွင်ထားပါတယ် - ၎င်းတို့ဟာ အုပ်စုဖွဲ့ပေးတယ်၊ ဒါပေမယ့် capturing group ထဲမှာ မသိမ်းဆည်းပါဘူး။

ဥပမာ

အောက်ပါဥပမာမှာ ပထမကွင်းတွေကို အုပ်စုဖွဲ့ဖို့အတွက် လိုအပ်ပြီး ဒုတိယကွင်းတွေကတော့ capturing group အတွက်ပါ။ ဒါပေမယ့် ကွင်းနှစ်မျိုးစလုံးဟာ capturing group ထဲကို ဒေတာတွေ သိမ်းဆည်းပေးပါတယ်။

txt = 'abab123' res = re.search('(ab)+([1-9]+)', txt)

ရလဒ်အနေနဲ့ ကျွန်ုပ်တို့ရဲ့ capturing groups တွေမှာ အောက်ပါအတိုင်းရှိလာပါလိမ့်မယ်။

print(res[0]) # 'abab123' ကိုပြသမည် print(res[1]) # 'ab' ကိုပြသမည် print(res[2]) # '123' ကိုပြသမည်

ဥပမာ

ပထမကွင်းစုံက အုပ်စုဖွဲ့ရုံပဲလုပ်ပြီး capturing group ထဲ မထည့်အောင်လုပ်ကြည့်ရအောင်။

txt = 'abab123' res = re.search('(?:ab)+([1-9]+)', txt)

ရလဒ်အနေနဲ့ ပထမ capturing group ထဲမှာ ကျွန်ုပ်တို့ရဲ့ ဂဏန်းတွေပဲရှိပါလိမ့်မယ်။

print(res[1]) # '123' ကိုပြသမည်
မြန်မာ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ဝက်ဘ်ဆိုက် လုပ်ဆောင်ခြင်း၊ ဆန်းစစ်လေ့လာခြင်းနှင့် ပုဂ္ဂလိကပြုပြင်ခြင်းအတွက် ကျွန်ုပ်တို့သည် cookie များကို အသုံးပြုပါသည်။ ဒေတာများကို ပြုပြင်ခြင်းသည် ကိုယ်ရေးကိုယ်တာ မူဝါဒအတိုင်း ဖြစ်ပါသည်။
အားလုံးလက်ခံရန် ပြင်ဆင်ရန် ငြင်းပယ်ရန်