Mabano ya Kiumbe katika Usemi wa Kawaida wa Python

Opereta '+', '*', '?' ni nzuri, hata hivyo, kwa kuwatumia huwezi kubainisha idadi maalum ya marudio. Katika kesi hii opereta {} atakusaidia.

Inafanya kazi kama ifuatavyo: {5} - marudio matano, {2,5} – hurudiwa kutoka mbili hadi tano (wote wakiwemo), {2,} - hurudiwa mara mbili au zaidi. Angalia mifano:

Mfano

Katika mfano huu muundo wa utafutaji unaonekana kama hii: herufi 'x', herufi 'a' mara moja au mbili, herufi 'x':

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

print(res)

Matokeo ya utekelezaji wa kodi:

python'xx ! ! xaaax'

Mfano

Katika mfano huu muundo wa utafutaji unaonekana kama hii: herufi 'x', herufi 'a' mara mbili au zaidi, herufi 'x':

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

print(res)

Matokeo ya utekelezaji wa kodi:

python'xx xax ! !'

Mfano

Katika mfano huu muundo wa utafutaji unaonekana kama hii: herufi 'x', herufi 'a' mara tatu, herufi 'x':

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

print(res)

Matokeo ya utekelezaji wa kodi:

python'xx xax xaax !'

Mfano

Katika mfano huu muundo wa utafutaji unaonekana kama hii: herufi 'a' mara kumi:

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

print(res)

Matokeo ya utekelezaji wa kodi:

python'aaa ! aaa'

Mfano

Katika mfano huu kuna muundo kama huu: herufi 'x', herufi 'a' mara tatu au chache, herufi 'x'. Ili kuutekeleza, mbele ya nambari 3 huwezi kubainisha namba, bali unaweza kuweka koma tu:

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

print(res)

Matokeo ya utekelezaji wa kodi:

python'! ! ! !'

Mfano

Sifuri mbele ya 3 pia inakubalika:

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

print(res)

Matokeo ya utekelezaji wa kodi:

python'! ! ! !'

Kazi za Vitendo

Задание 1

Kuna kamba:

pythontxt = 'aa aba abba abbba abbbba abbbbba'

Andika usemi wa kawaida, ambao utapata kamba 'abba', 'abbba', 'abbbba' na hizo tu.

Задание 2

Kuna kamba:

pythontxt = 'aa aba abba abbba abbbba abbbbba'

Andika usemi wa kawaida, ambao utapata kamba za aina 'aba', ambazo 'b' hukutika chini ya mara 3 (ikiwemo).

Задание 3

Kuna kamba:

pythontxt = 'aa aba abba abbba abbbba abbbbba'

Andika usemi wa kawaida, ambao utapata kamba za aina 'aba', ambazo 'b' hukutika zaidi ya mara 4 (ikiwemo).