⊗pyPmREChG 39 of 129 menu

Skupine simbolov v regularnih izrazih Python

Obstajajo posebni ukazi, ki omogočajo izbiro celih skupin simbolov naenkrat. Ukaz \d pomeni številko od 0 do 9. Ukaz \w pomeni številko, latinično črko ali znak podčrtaja. Ukaz \s pomeni presledek ali presledni simbol: presledek, prelom vrstice, tabulator. Vrednost ukaza je mogoče obrniti z uporabo velike črke: na primer, če je \d - številka, potem je \D - ne številka.

Primer

Poiščimo vse številke:

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

Rezultat izvajanja kode:

'! !! !!!'

Primer

Operatorji ponavljanja obravnavajo ukaze-skupine kot eno celoto, to pomeni, da oklepaji za združevanje niso potrebni. V naslednjem primeru je vzorec iskanja takšen: številka od 0 do 9 enkrat ali večkrat:

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

Rezultat izvajanja kode:

'! ! ! abc @@@'

Primer

V naslednjem primeru je vzorec iskanja takšen: karkoli enkrat ali večkrat, vendar ne številka od 0 do 9:

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

Rezultat izvajanja kode:

'123!3!'

Primer

V tem primeru je vzorec iskanja takšen: presledni simbol enkrat:

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

Rezultat izvajanja kode:

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

Primer

V tem primeru je vzorec iskanja takšen: NE presledni simbol enkrat ali večkrat. Vse podnize, ločene s presledki, bodo zamenjani z '!':

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

Rezultat izvajanja kode:

'! ! ! ! !'

Primer

V tem primeru je vzorec iskanja takšen: številka ali črka enkrat ali večkrat. Vsi podnizi, sestavljeni iz številk in črk, bodo zamenjani z '!':

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

Rezultat izvajanja kode:

'! ! ! ! @@@'

Primer

V tem primeru je vzorec iskanja takšen: NE številka in NE črka enkrat ali večkrat. V našem primeru pod to definicijo spada '@@@' in vsi presledki (tudi ti niso niti številke niti črke). Bodite pozorni na to, da je na koncu en '!' - vanj se je spremenil niz ' @@@' - s presledkom spredaj:

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

Rezultat izvajanja kode:

'1!12!123!Abc!'

Praktične naloge

Podan je niz:

txt = 'a1a a2a a3a a4a a5a aba aca'

Napišite regularni izraz, ki bo našel nize, v katerih na robovih stojita črki 'a', med njima pa je ena številka.

Podan je niz:

txt = 'a1a a22a a333a a4444a a55555a aba aca'

Napišite regularni izraz, ki bo našel nize, v katerih na robovih stojita črki 'a', med njima pa je poljubno število številk.

Podan je niz:

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

Napišite regularni izraz, ki bo našel nize, v katerih na robovih stojita črki 'a', med njima pa je poljubno število številk (vključno tudi z nič številk, to je niz 'aa').

Podan je niz:

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

Napišite regularni izraz, ki bo našel nize naslednje oblike: na robovih stojita črki 'a' in 'b', med njima pa - ne številka in ne presledek.

Podan je niz:

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

Napišite regularni izraz, ki bo našel nize naslednje oblike: na robovih stojita črki 'a' in 'b', med njima pa - ne črka, ne številka in ne presledek.

Podan je niz:

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

Napišite regularni izraz, ki bo zamenjal vse presledke z '!'.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni