Python ရဲ့ ရေဂျူလာ ဖော်မျူလာများတွင် ကွင်းကွက် သင်္ကေတများ

စာလုံးများ '+', '*', '?' တို့သည် ကောင်းမွန်သော်လည်း၊ ထပ်ကျော့ရမယ့် အရေအတွက်ကို တိတိကျကျ သတ်မှတ်ဖို့အတွက် ၎င်းတို့ကို အသုံးမပြုနိုင်ပါ။ �ီအခြေအနေမျိုးမှာ {} စာလုံးက ကူညီပေးပါလိမ့်မယ်။

သူအလုပ်လုပ်ပုံက ဒီလိုမျိုးပါ- {5} - ငါးကြိမ် ထပ်ကျော့မယ်၊ {2,5} – နှစ်ကြိမ်မှ ငါးကြိမ်အထိ (နှစ်ခုလုံးအပါအဝင်) ထပ်ကျော့မယ်၊ {2,} - နှစ်ကြိမ် (သို့) ထို့ထက်ပိုပြီး ထပ်ကျော့မယ်။ ဥပမာများကို ကြည့်ပါ-

ဥပမာ

ဤဥပမာမှာ ရှာဖွေရေး ပုံစံက ဒီလိုမျိုးဖြစ်ပါတယ်- စာလုံး 'x', စာလုံး 'a' တစ်ကြိမ် (သို့) နှစ်ကြိမ်၊ စာလုံး 'x'-

pythontxt = 'xx xax xaax xaaax'
res = re.sub('xa{1,2}x', '!', txt)

print(res)

ကုဒ်ကို run လိုက်ရင် ရလာဒ်-

python'xx ! ! xaaax'

ဥပမာ

ဤဥပမာမှာ ရှာဖွေရေး ပုံစံက ဒီလိုမျိုးဖြစ်ပါတယ်- စာလုံး 'x', စာလုံး 'a' နှစ်ကြိမ်နဲ့ အထက်၊ စာလုံး 'x'-

pythontxt = 'xx xax xaax xaaax'
res = re.sub('xa{2,}x', '!', txt)

print(res)

ကုဒ်ကို run လိုက်ရင် ရလာဒ်-

python'xx xax ! !'

ဥပမာ

ဤဥပမာမှာ ရှာဖွေရေး ပုံစံက ဒီလိုမျိုးဖြစ်ပါတယ်- စာလုံး 'x', စာလုံး 'a' သုံးကြိမ်၊ စာလုံး 'x'-

pythontxt = 'xx xax xaax xaaax'
res = re.sub('xa{3}x', '!', txt)

print(res)

ကုဒ်ကို run လိုက်ရင် ရလာဒ်-

python'xx xax xaax !'

ဥပမာ

ဤဥပမာမှာ ရှာဖွေရေး ပုံစံက ဒီလိုမျိုးဖြစ်ပါတယ်- စာလုံး 'a' ဆယ်ကြိမ်-

pythontxt = 'aaa aaaaaaaaaa aaa'
res = re.sub('a{10}', '!', txt)

print(res)

ကုဒ်ကို run လိုက်ရင် ရလာဒ်-

python'aaa ! aaa'

ဥပမာ

ဤဥပမာမှာ ပုံစံတစ်ခုရှိပါတယ်- စာလုံး 'x', စာလုံး 'a' သုံးကြိမ် (သို့) ထို့ထက်နည်းတဲ့အကြိမ်၊ စာလုံး 'x'။ ဒါကို အကောင်အထည်ဖော်ဖို့ ၊ 3 ရဲ့ အရှေ့မှာ ကိန်းကို မသတ်မှတ်ပဲ ကော်မာချည်းပဲ ထားနိုင်ပါတယ်-

pythontxt = 'xx xax xaax xaaax'
res = re.sub('xa{,3}x', '!', txt)

print(res)

ကုဒ်ကို run လိုက်ရင် ရလာဒ်-

python'! ! ! !'

ဥပမာ

3 ရဲ့ အရှေ့က သုည ကိုလည်း ခွင့်ပြုပါတယ်-

pythontxt = 'xx xax xaax xaaax'
res = re.sub('xa{0,3}x', '!', txt)

print(res)

ကုဒ်ကို run လိုက်ရင် ရလာဒ်-

python'! ! ! !'

လက်တွေ့လေ့ကျင့်ခန်းများ

Задание 1

စာကြောင်းတစ်ကြောင်း ပေးထားပါတယ်-

pythontxt = 'aa aba abba abbba abbbba abbbbba'

ရေဂျူလာ ဖော်မျူလာတစ်ခုကို ရေးပါ၊ ဒီရေဂျူလာက 'abba', 'abbba', 'abbbba' စာကြောင်းတွေကိုသာ ရှာတွေ့ပါစေ။

Задание 2

စာကြောင်းတစ်ကြောင်း ပေးထားပါတယ်-

pythontxt = 'aa aba abba abbba abbbba abbbbba'

ရေဂျူလာ ဖော်မျူလာတစ်ခုကို ရေးပါ၊ ဒီရေဂျူလာက 'aba' ပုံစံရှိတဲ့ စာကြောင်းတွေကို ရှာတွေ့ပါစေ၊ အဲဒီစာကြောင်းတွေထဲမှာ 'b' က 3-ကြိမ် (အပါအဝင်) ထက်နည်းပြီး ပေါ်နေရပါမယ်။

Задание 3

စာကြောင်းတစ်ကြောင်း ပေးထားပါတယ်-

pythontxt = 'aa aba abba abbba abbbba abbbbba'

ရေဂျူလာ ဖော်မျူလာတစ်ခုကို ရေးပါ၊ ဒီရေဂျူလာက 'aba' ပုံစံရှိတဲ့ စာကြောင်းတွေကို ရှာတွေ့ပါစေ၊ အဲဒီစာကြောင်းတွေထဲမှာ 'b' က 4-ကြိမ် (အပါအဝင်) ထက်ပိုပြီး ပေါ်နေရပါမယ်။