⊗pyPmREChG 39 of 129 menu

Grupe simbola u regularnim izrazima Pajton

Postoje posebne komande koje omogućavaju odabir čitavih grupa simbola odjednom. Komanda \d označava cifru od 0 do 9. Komanda \w označava cifru, latinično slovo ili znak donje crte. Komanda \s označava prazninu ili beli znak: razmak, prelazak u novi red, tabulator. Možete invertovati značenje komande, tako što ćete napisati veliko slovo: na primer, ako je \d - cifra, onda je \D - nije cifra.

Primer

Pronađimo sve cifre:

txt = '1 12 123' res = re.sub('\d', '!', txt) print(res)

Rezultat izvršavanja koda:

'! !! !!!'

Primer

Operatori ponavljanja tretiraju komande-grupe kao jednu celinu, odnosno grupisane zagrade nisu potrebne. U sledećem primeru obrazac pretrage izgleda ovako: cifra od 0 do 9 jedan ili više puta:

txt = '1 12 123 abc @@@' res = re.sub('\d+', '!', txt) print(res)

Rezultat izvršavanja koda:

'! ! ! abc @@@'

Primer

U sledećem primeru obrazac pretrage izgleda ovako: bilo šta jedan ili više puta, ali ne cifra od 0 do 9:

txt = '123abc3@@' res = re.sub('\D+', '!', txt) print(res)

Rezultat izvršavanja koda:

'123!3!'

Primer

U ovom primeru obrazac pretrage izgleda ovako: beli znak jedan put:

txt = '1 12 123 abc @@@' res = re.sub('\s', '!', txt) print(res)

Rezultat izvršavanja koda:

'1!12!123!abc!@@@'

Primer

U ovom primeru obrazac pretrage izgleda ovako: Nije beli znak jedan ili više puta. Svi podnisovi, odvojeni razmacima, biće zamenjeni sa '!':

txt = '1 12 123 abc @@@' res = re.sub('\S+', '!', txt) print(res)

Rezultat izvršavanja koda:

'! ! ! ! !'

Primer

U ovom primeru obrazac pretrage izgleda ovako: cifra ili slovo jedan ili više puta. Svi podnisovi, koji se sastoje od cifara i slova, biće zamenjeni sa '!':

txt = '1 12 123a Abc @@@' res = re.sub('\w+', '!', txt) print(res)

Rezultat izvršavanja koda:

'! ! ! ! @@@'

Primer

U ovom primeru obrazac pretrage izgleda ovako: NIJE cifra i NIJE slovo jedan ili više puta. Pod ovu definiciju u našem slučaju spada '@@@' i svi razmaci (oni takođe nisu cifre niti slova). Obratite pažnju na to da je na kraju jedan '!' - u njega se transformisala niska ' @@@' - sa razmakom ispred:

txt = '1 12 123 Abc @@@' res = re.sub('\W+', '!', txt) print(res)

Rezultat izvršavanja koda:

'1!12!123!Abc!'

Praktični zadaci

Data je niska:

txt = 'a1a a2a a3a a4a a5a aba aca'

Napišite regularni izraz koji će pronaći niske, u kojima sa obe strane stoje slova 'a', a između njih jedna cifra.

Data je niska:

txt = 'a1a a22a a333a a4444a a55555a aba aca'

Napišite regularni izraz koji će pronaći niske, u kojima sa obe strane stoje slova 'a', a između njih bilo koja količina cifara.

Data je niska:

txt = 'aa a1a a22a a333a a4444a a55555a aba aca'

Napišite regularni izraz koji će pronaći niske, u kojima sa obe strane stoje slova 'a', a između njih bilo koja količina cifara (uključujući i nula cifara, odnosno niska 'aa').

Data je niska:

txt = 'avb a1b a2b a3b a4b a5b abb acb'

Napišite regularni izraz koji će pronaći niske sledećeg oblika: sa obe strane stoje slova 'a' i 'b', a između njih - nije broj i nije razmak.

Data je niska:

txt = 'ave a#b a2b a$b a4b a5b a-b acb'

Napišite regularni izraz koji će pronaći niske sledećeg oblika: sa obe strane stoje slova 'a' i 'b', a između njih - nije slovo, nije cifra i nije razmak.

Data je niska:

txt = 'ave a#a a2a a$a a4a a5a a-a aca'

Napišite regularni izraz koji će zameniti sve razmake sa '!'.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij