Python တွင် ရီဂျယ်လာ စကားစာများအတွက် သင်္ကေတများ

ရီဂျယ်လာများနှင့် အလုပ်လုပ်သည့် နည်းလမ်းများအတွက် မဖြစ်မနေ မဟုတ်သော သတ်မှတ်ချက်တစ်ခုအနေဖြင့် သင်္ကေတများကို သတ်မှတ်ရန် အောက်ပါ ဖွဲ့စည်းပုံကို အသုံးပြုပါသည်။

pythonflags=re.သင်္ကေတအမည်

ရီဂျယ်လာများနှင့် အလုပ်လုပ်ရန် အဓိက သင်္ကေတများ

သင်္ကေတ ရည်ရွယ်ချက်
re.IGNORECASE အက္ခရာများ ရေးသားသည့် အက္ခရာအသေးအကြီး အနေအထားကို လျစ်လျူရှုခြင်း။
re.DOTALL ပုဒ်ဖြတ်သင်္ကေတ (dot) သည် မည်သည့်အက္ခရာကိုမဆို ကိုယ်စားပြုသည်၊ စာကြောင်းအသစ် ပြောင်းခြင်းကိုပါ ပါဝင်သည်။
re.I အက္ခရာအသေးအကြီး အနေအထားကို မခံစားရသော ရှာဖွေမှုကို ပြုလုပ်ပေးသည်။
re.L လက်ရှိဘာသာစကားနှင့်အညီ စကားလုံးများကို ရှာဖွေသည်။ �အနက်ဖွင့်ဆိုချက်သည် စာလုံးအုပ်စု (\w နှင့် \W) ကို ထိခိုက်စေပြီး စကားလုံး နယ်နမိတ် (\b နှင့် \B) ၏ အပြုအမူကိုလည်း ထိခိုက်စေသည်။
re.M သင်္ကေတ $ သည် မည်သည့်စာသားစာကြောင်း၏ အဆုံးတွင်မဆို (စာသားတစ်ခုလုံး၏ အဆုံးတွင်သာမက) ရှာဖွေမှုကို လုပ်ဆောင်ပြီး သင်္ကေတ ^ သည် မည်သည့်စာသားစာကြောင်း၏ အစတွင်မဆို (စာသားတစ်ခုလုံး၏ အစတွင်သာမက) ရှာဖွေမှုကို လုပ်ဆောင်သည်။
re.S ပုဒ်ဖြတ်သင်္ကေတ (.) ၏ တန်ဖိုးကို စာကြောင်းအသစ် အပါအဝင် မည်သည့်အက္ခရာနှင့်မဆို ကိုက်ညီမှုအဖြစ် ပြောင်းလဲပေးသည်။
re.U Unicode စာလုံးအစုအဝေးနှင့်အညီ စာလုံးများကို အနက်ဖွင့်ဆိုသည်။ ဤသင်္ကေတသည် \w, \W, \b, \B တို့၏ အပြုအမူကို သက်ရောက်မှုရှိသည်။ Python 3+ တွင် ဤသင်္ကေတကို စံအတိုင်း သတ်မှတ်ထားသည်။
re.X ရီဂျယ်လာ စကားစာ၏ စာကြောင်းများစွာ ဖွဲ့စည်းပုံကို ခွင့်ပြုပေးသည်။ ၎င်းသည် ပုံစံအတွင်းရှိ ကြားနေရာများကို လျစ်လျူရှုထားသည် ([] အစုအတွင်းရှိ ကြားနေရာများ သို့မဟုတ် backslash ဖြင့် ရှောင်ထားသည့်အခါများမှလွဲ၍) နှင့် ရှောင်ထားခြင်းမရှိသော '#' ကို မှတ်ချက်တစ်ခုအဖြစ် ကိုင်တွယ်ဆောင်ရွက်သည်။

ဥပမာ

သင်္ကေတ re.IGNORECASE ကို အသုံးပြု၍ အက္ခရာအသေးအကြီး အနေအထားကို လျစ်လျူရှုနိုင်သည်။ ၎င်းကို မည်သို့လုပ်ဆောင်သည်ကို ကြည့်ရအောင်။ ဤဥပမာတွင် ရီဂျယ်လာက အက္ခရာအသေးများကိုသာ ရှာတွေ့မည်။

pythontxt = 'aaa bbb CCC DDD'
res = re.sub('[a-z]+', '!', txt)

print(res)

ကုဒ် လုပ်ဆောင်ချက်၏ ရလဒ်။

python'! ! CCC DDD'

ဥပမာ

ယခု နည်းလမ်း၏ စတုတ္ထ သတ်မှတ်ချက်အတွင်း သင်္ကေတ re.IGNORECASE ကို ထည့်သွင်းပါက ရီဂျယ်လာသည် အက္ခရာအသေးအကြီး အနေအထားအားလုံးတွင် ရှာဖွေရန် စတင်မည်။

pythontxt = 'aaa AAA bbb BBB'
res = re.sub('[a-z]+', '!', txt, flags=re.IGNORECASE)

print(res)

ကုဒ် လုပ်ဆောင်ချက်၏ ရလဒ်။

python'! ! ! !'

ဥပမာ

ရီဂျယ်လာဖြင့် စာကြောင်းအသစ်ပြောင်းခြင်းအားလုံးကို ရှာဖွေကြည့်ရအောင်။

pythontxt = '''aaa
  bbb'''
res = re.sub('\n', '!', txt)

print(res)

လုပ်ဆောင်ပြီးသော ကုဒ်၏ ရလဒ်။

python'aaa!bbb'

ဥပမာ

သို့သော်၊ အက္ခရာအားလုံးကို အစားထိုးရန်လိုအပ်ပါက၊ ရီဂျယ်လာတွင် ပုဒ်ဖြတ်သင်္ကေတ (dot) ကိုထည့်သွင်းပါက စာကြောင်းအသစ်ပြောင်းခြင်းများကို �မ်းယူမည်မဟုတ်ပါ။

pythontxt = '''aaa
  bbb'''
res = re.sub('.', '!', txt)

print(res)

လုပ်ဆောင်ပြီးသော ကုဒ်၏ ရလဒ်။

python'!!!
!!!'

ဥပမာ

ဤအမှားကို ပြင်ဆင်ရန်၊ သင်္ကေတ re.DOTALL ကို အသုံးပြုသင့်သည်။

pythonres = re.sub('.', '!', txt, flags=re.DOTALL)
print(res)

လုပ်ဆောင်ပြီးသော ကုဒ်၏ ရလဒ်။

python'!!!!!!!'

ဥပမာ

သတ်မှတ်ချက်အတွင်း သင်္ကေတများစွာကိုလည်း ပေးပို့နိုင်သည်၊ ၎င်းတို့အကြား လုပ်ဆောင်ချက် + ကိုထည့်သွင်းပါ။ စာကြောင်း၏အဆုံးတွင် အက္ခရာ 'a' ကို အရင်အစားထိုးကြည့်ရအောင်။

pythontxt = '''
  aaa
  AAA
  aaa'''
res = re.sub('aaa
, '!', txt)

print(res)

လုပ်ဆောင်ပြီးသော ကုဒ်၏ ရလဒ်။

python'''
  aaa
  AAA
  !
'''

ဥပမာ

ယခု သင်္ကေတ re.M ကို ထည့်သွင်းကြည့်ရအောင်။

pythonres = re.sub('aaa
, '!', txt, flags=re.M)
print(res)

လုပ်ဆောင်ပြီးသော ကုဒ်၏ ရလဒ်။

python'''
  !
  AAA
  !
'''

ဥပမာ

ယခု အက္ခရာအသေးအကြီး အနေအထားကို လျစ်လျူရှုရန် သင်္ကေတကို အသုံးပြုကြည့်ရအောင်။

pythonres = re.sub('aaa
, '!', txt, flags=re.M+re.IGNORECASE)
print(res)

လုပ်ဆောင်ပြီးသော ကုဒ်၏ ရလဒ်။

python'''
  !
  !
  !
'''