Python ရဲ့ ရေဂျူလာ ဖော်မျူလာများတွင် ကွင်းကွက် သင်္ကေတများ
စာလုံးများ '+', '*', '?'
တို့သည် ကောင်းမွန်သော်လည်း၊ ထပ်ကျော့ရမယ့် အရေအတွက်ကို တိတိကျကျ သတ်မှတ်ဖို့အတွက် ၎င်းတို့ကို အသုံးမပြုနိုင်ပါ။
�ီအခြေအနေမျိုးမှာ {} စာလုံးက ကူညီပေးပါလိမ့်မယ်။
သူအလုပ်လုပ်ပုံက ဒီလိုမျိုးပါ- {5}
- ငါးကြိမ် ထပ်ကျော့မယ်၊ {2,5} – နှစ်ကြိမ်မှ ငါးကြိမ်အထိ (နှစ်ခုလုံးအပါအဝင်) ထပ်ကျော့မယ်၊ {2,}
- နှစ်ကြိမ် (သို့) ထို့ထက်ပိုပြီး ထပ်ကျော့မယ်။ ဥပမာများကို ကြည့်ပါ-
ဥပမာ
ဤဥပမာမှာ ရှာဖွေရေး ပုံစံက ဒီလိုမျိုးဖြစ်ပါတယ်- စာလုံး 'x', စာလုံး 'a'
တစ်ကြိမ် (သို့) နှစ်ကြိမ်၊ စာလုံး 'x'-
txt = 'xx xax xaax xaaax'
res = re.sub('xa{1,2}x', '!', txt)
print(res)
ကုဒ်ကို run လိုက်ရင် ရလာဒ်-
'xx ! ! xaaax'
ဥပမာ
ဤဥပမာမှာ ရှာဖွေရေး ပုံစံက ဒီလိုမျိုးဖြစ်ပါတယ်- စာလုံး 'x', စာလုံး 'a'
နှစ်ကြိမ်နဲ့ အထက်၊ စာလုံး 'x'-
txt = 'xx xax xaax xaaax'
res = re.sub('xa{2,}x', '!', txt)
print(res)
ကုဒ်ကို run လိုက်ရင် ရလာဒ်-
'xx xax ! !'
ဥပမာ
ဤဥပမာမှာ ရှာဖွေရေး ပုံစံက ဒီလိုမျိုးဖြစ်ပါတယ်- စာလုံး 'x', စာလုံး 'a'
သုံးကြိမ်၊ စာလုံး 'x'-
txt = 'xx xax xaax xaaax'
res = re.sub('xa{3}x', '!', txt)
print(res)
ကုဒ်ကို run လိုက်ရင် ရလာဒ်-
'xx xax xaax !'
ဥပမာ
ဤဥပမာမှာ ရှာဖွေရေး ပုံစံက ဒီလိုမျိုးဖြစ်ပါတယ်- စာလုံး 'a' ဆယ်ကြိမ်-
txt = 'aaa aaaaaaaaaa aaa'
res = re.sub('a{10}', '!', txt)
print(res)
ကုဒ်ကို run လိုက်ရင် ရလာဒ်-
'aaa ! aaa'
ဥပမာ
ဤဥပမာမှာ ပုံစံတစ်ခုရှိပါတယ်- စာလုံး
'x', စာလုံး 'a' သုံးကြိမ် (သို့) ထို့ထက်နည်းတဲ့အကြိမ်၊ စာလုံး 'x'။ ဒါကို အကောင်အထည်ဖော်ဖို့
၊ 3 ရဲ့ အရှေ့မှာ ကိန်းကို မသတ်မှတ်ပဲ ကော်မာချည်းပဲ ထားနိုင်ပါတယ်-
txt = 'xx xax xaax xaaax'
res = re.sub('xa{,3}x', '!', txt)
print(res)
ကုဒ်ကို run လိုက်ရင် ရလာဒ်-
'! ! ! !'
ဥပမာ
3 ရဲ့ အရှေ့က သုည ကိုလည်း ခွင့်ပြုပါတယ်-
txt = 'xx xax xaax xaaax'
res = re.sub('xa{0,3}x', '!', txt)
print(res)
ကုဒ်ကို run လိုက်ရင် ရလာဒ်-
'! ! ! !'
လက်တွေ့လေ့ကျင့်ခန်းများ
စာကြောင်းတစ်ကြောင်း ပေးထားပါတယ်-
txt = 'aa aba abba abbba abbbba abbbbba'
ရေဂျူလာ ဖော်မျူလာတစ်ခုကို ရေးပါ၊ ဒီရေဂျူလာက
'abba', 'abbba', 'abbbba'
စာကြောင်းတွေကိုသာ ရှာတွေ့ပါစေ။
စာကြောင်းတစ်ကြောင်း ပေးထားပါတယ်-
txt = 'aa aba abba abbba abbbba abbbbba'
ရေဂျူလာ ဖော်မျူလာတစ်ခုကို ရေးပါ၊ ဒီရေဂျူလာက
'aba' ပုံစံရှိတဲ့ စာကြောင်းတွေကို ရှာတွေ့ပါစေ၊ အဲဒီစာကြောင်းတွေထဲမှာ 'b'
က 3-ကြိမ် (အပါအဝင်) ထက်နည်းပြီး ပေါ်နေရပါမယ်။
စာကြောင်းတစ်ကြောင်း ပေးထားပါတယ်-
txt = 'aa aba abba abbba abbbba abbbbba'
ရေဂျူလာ ဖော်မျူလာတစ်ခုကို ရေးပါ၊ ဒီရေဂျူလာက
'aba' ပုံစံရှိတဲ့ စာကြောင်းတွေကို ရှာတွေ့ပါစေ၊ အဲဒီစာကြောင်းတွေထဲမှာ 'b'
က 4-ကြိမ် (အပါအဝင်) ထက်ပိုပြီး ပေါ်နေရပါမယ်။