Vikundi vya Herufi katika Semi za Kawaida za Python
Kuna amri maalum ambazo
zinaruhusu kuchagua vikundi vya herufi
mzima mara moja. Amri \d inamaanisha nambari
kutoka 0 hadi 9. Amri \w
inamaanisha nambari, herufi ya Kilatini au alama
ya mkato. Amri \s inamaanisha
nafasi au herufi ya nafasi: nafasi,
mstari mpya, tab. Inawezekana kubadilisha
thamani ya amri, kwa kuandika herufi kubwa:
kwa mfano, ikiwa \d - nambari, basi
\D - sio nambari.
Mfano
Wacha tupate nambari zote:
txt = '1 12 123'
res = re.sub('\d', '!', txt)
print(res)
Matokeo ya utekelezaji wa kificho:
'! !! !!!'
Mfano
Opereta wa kurudia huhesabu amri-vikundi
kama kitu kimoja, yaani mabano ya kukusanya
hayahitajiki. Katika mfano ufuatao muundo wa utafutaji
unaonekana kama hii: nambari kutoka 0
hadi 9 mara moja au zaidi:
txt = '1 12 123 abc @@@'
res = re.sub('\d+', '!', txt)
print(res)
Matokeo ya utekelezaji wa kificho:
'! ! ! abc @@@'
Mfano
Katika mfano ufuatao muundo wa utafutaji unaonekana
hivi: kitu chochote mara moja au zaidi,
lakini sio nambari kutoka 0 hadi 9:
txt = '123abc3@@'
res = re.sub('\D+', '!', txt)
print(res)
Matokeo ya utekelezaji wa kificho:
'123!3!'
Mfano
Katika mfano huu muundo wa utafutaji unaonekana hivi: herufi ya nafasi mara moja:
txt = '1 12 123 abc @@@'
res = re.sub('\s', '!', txt)
print(res)
Matokeo ya utekelezaji wa kificho:
'1!12!123!abc!@@@'
Mfano
Katika mfano huu muundo wa utafutaji unaonekana
hivi: SIO herufi ya nafasi mara moja au zaidi
. Herufu ndogo zote, zilizogawanywa
na nafasi, zitabadilishwa kuwa '!':
txt = '1 12 123 abc @@@'
res = re.sub('\S+', '!', txt)
print(res)
Matokeo ya utekelezaji wa kificho:
'! ! ! ! !'
Mfano
Katika mfano huu muundo wa utafutaji unaonekana
hivi: nambari au herufi mara moja au zaidi
. Herufu ndogo zote, zinazojumuisha nambari
na herufi, zitabadilishwa kuwa '!':
txt = '1 12 123a Abc @@@'
res = re.sub('\w+', '!', txt)
print(res)
Matokeo ya utekelezaji wa kificho:
'! ! ! ! @@@'
Mfano
Katika mfano huu muundo wa utafutaji unaonekana
hivi: SIO nambari na SIO herufi mara moja au zaidi
. Ufafanuzi huu kwa upande wetu
unashikilia '@@@' na nafasi zote
(kwa maana wao pia sio nambari wala herufi).
Zingatia kwamba mwisho kuna
'!' moja - ndani yake imebadilishwa kuwa herufi ndogo
' @@@' - na nafasi mbele:
txt = '1 12 123 Abc @@@'
res = re.sub('\W+', '!', txt)
print(res)
Matokeo ya utekelezaji wa kificho:
'1!12!123!Abc!'
Kazi za Vitendo
Imetolewa herufi ndogo:
txt = 'a1a a2a a3a a4a a5a aba aca'
Andika semi ya kawaida, ambayo itapata herufi ndogo,
ambazo kwenye kingo zina herufi 'a',
na kati yao kuna nambari moja.
Imetolewa herufi ndogo:
txt = 'a1a a22a a333a a4444a a55555a aba aca'
Andika semi ya kawaida, ambayo itapata herufi ndogo,
ambazo kwenye kingo zina herufi 'a',
na kati yao kuna nambari zote.
Imetolewa herufi ndogo:
txt = 'aa a1a a22a a333a a4444a a55555a aba aca'
Andika semi ya kawaida, ambayo itapata herufi ndogo,
ambazo kwenye kingo zina herufi 'a',
na kati yao kuna nambari zote (pamoja
na nambari sifuri, yaani herufi ndogo
'aa').
Imetolewa herufi ndogo:
txt = 'avb a1b a2b a3b a4b a5b abb acb'
Andika semi ya kawaida, ambayo itapata herufi ndogo
za aina ifuatayo: kwenye kingo kuna herufi
'a' na 'b', na kati yao -
sio nambari wala nafasi.
Imetolewa herufi ndogo:
txt = 'ave a#b a2b a$b a4b a5b a-b acb'
Andika semi ya kawaida, ambayo itapata herufi ndogo
za aina ifuatayo: kwenye kingo kuna herufi
'a' na 'b', na kati yao -
sio herufi, sio nambari wala nafasi.
Imetolewa herufi ndogo:
txt = 'ave a#a a2a a$a a4a a5a a-a aca'
Andika semi ya kawaida, ambayo itabadilisha nafasi zote
kuwa '!'.