Amri 'au' katika Semi za Kawaida za Python
Amri '|', ambayo inawakilisha
toleo lenye nguvu zaidi ya 'au'
ikilinganishwa na amri [ ]. Amri hii
inakuwezesha kugawanya usemi wa kawaida katika sehemu kadhaa.
Wakati huo huo, kitu kinachotafutwa kinaweza kuwa
ama chini ya sehemu moja ya usemi wa kawaida, ama chini ya
nyingine. Hebu tuangalie kwa mifano.
Mfano
Katika mfano huu, muundo wa utafutaji ni:
herufi tatu 'a' au herufi tatu
'b':
txt = 'aaa bbb abb'
res = re.sub('a{3}|b{3}', '!', txt)
print(res)
Matokeo ya utekelezaji wa kificho:
'! ! abb'
Mfano
Katika mfano huu, muundo wa utafutaji ni:
herufi tatu 'a' au kutoka 1 na
zaidi ya herufi 'b':
txt = 'aaa bbb bbbb bbbbb axx'
res = re.sub('a{3}|b+', '!', txt)
print(res)
Matokeo ya utekelezaji wa kificho:
'! ! ! ! axx'
Mfano
Katika mfano huu, muundo wa utafutaji ni: herufi moja au zaidi au tarakimu tatu:
txt = 'a ab abc 1 12 123'
res = re.sub('[a-z]+|\d{3}', '!', txt)
print(res)
Matokeo ya utekelezaji wa kificho:
'! ! ! 1 12 !'
Mfano
Mstari wima unaweza kugawanya usemi wa kawaida sio katika sehemu mbili, bali katika idadi yoyote ya sehemu:
txt = 'aaa bbb ccc ddd'
res = re.sub('a+|b+|c+', '!', txt)
print(res)
Matokeo ya utekelezaji wa kificho:
'! ! ! ddd'
Mfano
Ikiwa mstari wima uko ndani ya mabano ya duara,
basi 'au' inafanya kazi tu
ndani ya mabano hayo.
Kwa mfano, hebu tupate masharti kulingana na
muundo ufuatao: mwanzoni kuna ama
'a', au 'b' mara moja au zaidi
na kisha herufi mbili 'x':
txt = 'axx bxx bbxx exx'
res = re.sub('(a|b+)xx', '!', txt)
print(res)
Matokeo ya utekelezaji wa kificho:
'! ! ! exx'
Kazi za Vitendo
Umepewa mshoro:
txt = 'aeeea aeea aea axa axxa axxxa'
Andika usemi wa kawaida ambao utapata masharti
kwa muundo: pembeni zimo herufi
'a', na kati yao - au herufi
'e' idadi yoyote ya mara au herufi
'x' idadi yoyote ya mara.
Umepewa mshoro:
txt = 'aeeea aeea aea axa axxa axxxa'
Andika usemi wa kawaida ambao utapata masharti
kwa muundo: pembeni zimo herufi
'a', na kati yao - au herufi
'e' mara mbili au herufi 'x'
idadi yoyote ya mara.