Viendeshaji wa Kurudia Herufi Katika Usanifu wa Kawaida
Kuna hali ambapo unahitaji kubainisha kuwa
herufi hurudiwa idadi maalum ya
mara. Ikiwa idadi halisi ya kurudia haijulikani,
basi unaweza kuandika tu mara kadhaa
- 'aaaa'. Lakini nini cha kufanya, ikiwa unahitaji
kusema hivi: rudia mara moja au zaidi?
Kwa hili kuna viendeshaji (vihesabaji)
va kurudia: alama ya jumlisha + (mara moja au zaidi),
nyota * (mara sifuri au zaidi)
na alama ya swali ? (mara sifuri au moja).
Viendeshaji hivi hutenda kwenye herufi ile
iliyo mbele yao.
Tutaangalia utendaji wa viendeshaji hivi kwa mifano.
Mfano
Tutapata herufundwe zote kulingana na kiolezo herufi
'x', herufi 'a' mara moja au zaidi,
herufi 'x':
txt = 'xx xax xaax xaaax xbx'
res = re.sub('xa+x', '!', txt)
print(res)
Matokeo ya utekelezaji wa kodi:
'xx ! ! ! xbx'
Mfano
Tutapata herufundwe zote kulingana na kiolezo herufi
'x', herufi 'a' mara sifuri au zaidi,
herufi 'x':
txt = 'xx xax xaax xaaax xbx'
res = re.sub('xa*x', '!', txt)
print(res)
Matokeo ya utekelezaji wa kodi:
'! ! ! ! xbx'
Mfano
Tutapata herufundwe zote kulingana na kiolezo herufi
'x', herufi 'a' mara sifuri au moja,
herufi 'x':
txt = 'xx xax xaax xbx'
res = re.sub('xa?x', '!', txt)
print(res)
Matokeo ya utekelezaji wa kodi:
'! ! xaax xbx'
Kazi za Vitendo
Kuna kamba:
txt = 'aa aba abba abbba abca abea'
Andika usanifu wa kawaida, utakayopata kamba
'aba', 'abba', 'abbba'
kulingana na kiolezo: herufi 'a', herufi
'b' idadi yoyote ya mara, herufi
'a'.
Kuna kamba:
txt = 'aa aba abba abbba abca abea'
Andika usanifu wa kawaida, utakayopata kamba
'aa', 'aba', 'abba',
'abbba' kulingana na kiolezo: herufi
'a', herufi 'b' idadi yoyote ya mara
(hata mara sifuri), herufi
'a'.
Kuna kamba:
txt = 'aa aba abba abbba abca abea'
Andika usanifu wa kawaida, utakayopata kamba
'aa', 'aba' kulingana na kiolezo:
herufi 'a', herufi 'b' mara moja
au sifuri, herufi 'a'.
Kuna kamba:
txt = 'aa aba abba abbba abca abea'
Andika usanifu wa kawaida, utakayopata kamba
'aa', 'aba', 'abba',
'abbba', bila kushika 'abca'
na 'abea'.