⊗pyPmREChG 39 of 129 menu

Tegngrupper i Pythons regulære udtryk

Der findes specielle kommandoer, der tillader at vælge hele grupper af tegn på én gang. Kommandoen \d betyder et ciffer fra 0 til 9. Kommandoen \w betyder et ciffer, et latinsk bogstav eller underscore-tegnet. Kommandoen \s betyder mellemrum eller et blankt tegn: mellemrum, linjeskift, tabulator. Det er muligt at invertere kommandoens betydning ved at skrive et stort bogstav: for eksempel, hvis \d er et ciffer, så er \D ikke et ciffer.

Eksempel

Lad os finde alle cifre:

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

Resultat af kodeudførelse:

'! !! !!!'

Eksempel

Gentagelsesoperatorer betragter kommando-grupper som en helhed, det vil sige, at grupperingsparenteser ikke er nødvendige. I det følgende eksempel ser søgemønsteret sådan ud: ciffer fra 0 til 9 én eller flere gange:

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

Resultat af kodeudførelse:

'! ! ! abc @@@'

Eksempel

I det følgende eksempel ser søgemønsteret sådan ud: hvad som helst én eller flere gange, men ikke et ciffer fra 0 til 9:

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

Resultat af kodeudførelse:

'123!3!'

Eksempel

I dette eksempel ser søgemønsteret sådan ud: blankt tegn én gang:

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

Resultat af kodeudførelse:

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

Eksempel

I dette eksempel ser søgemønsteret sådan ud: IKKE blankt tegn én eller flere gange. Alle understrenge, adskilt af mellemrum, vil blive erstattet med '!':

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

Resultat af kodeudførelse:

'! ! ! ! !'

Eksempel

I dette eksempel ser søgemønsteret sådan ud: ciffer eller bogstav én eller flere gange. Alle understrenge, der består af cifre og bogstaver, vil blive erstattet med '!':

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

Resultat af kodeudførelse:

'! ! ! ! @@@'

Eksempel

I dette eksempel ser søgemønsteret sådan ud: IKKE ciffer og IKKE bogstav én eller flere gange. I vores tilfælde opfylder '@@@' og alle mellemrum (de er jo heller ikke cifre eller bogstaver) denne definition. Læg mærke til, at der i slutningen er én '!' - den blev til fra strengen ' @@@' - med et mellemrum foran:

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

Resultat af kodeudførelse:

'1!12!123!Abc!'

Praktiske opgaver

Givet en streng:

txt = 'a1a a2a a3a a4a a5a aba aca'

Skriv et regulært udtryk, der finder strenge, hvor der står bogstaver 'a' i kanterne, og imellem dem er der ét ciffer.

Givet en streng:

txt = 'a1a a22a a333a a4444a a55555a aba aca'

Skriv et regulært udtryk, der finder strenge, hvor der står bogstaver 'a' i kanterne, og imellem dem er der et hvilket som helst antal cifre.

Givet en streng:

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

Skriv et regulært udtryk, der finder strenge, hvor der står bogstaver 'a' i kanterne, og imellem dem er der et hvilket som helst antal cifre (herunder også nul cifre, det vil sige strengen 'aa').

Givet en streng:

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

Skriv et regulært udtryk, der finder strenge af følgende type: der står bogstaver 'a' og 'b' i kanterne, og imellem dem - ikke et tal og ikke et mellemrum.

Givet en streng:

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

Skriv et regulært udtryk, der finder strenge af følgende type: der står bogstaver 'a' og 'b' i kanterne, og imellem dem - ikke et bogstav, ikke et ciffer og ikke et mellemrum.

Givet en streng:

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

Skriv et regulært udtryk, der erstatter alle mellemrum med '!'.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis