⊗pyPmREChG 39 of 129 menu

Tegngrupper i regulære uttrykk i Python

Det finnes spesielle kommandoer som tillater deg å velge hele grupper av tegn på en gang. Kommandoen \d betyr et siffer fra 0 til 9. Kommandoen \w betyr et siffer, en latinsk bokstav eller understrekingstegnet. Kommandoen \s betyr mellomrom eller et blanktegn: mellomrom, linjeskift, tabulator. Du kan invertere betydningen av kommandoen ved å skrive en stor bokstav: for eksempel, hvis \d er et siffer, så er \D - ikke et siffer.

Eksempel

La oss finne alle sifre:

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

Resultatet av kjøring av koden:

'! !! !!!'

Eksempel

Repetisjonsoperatorer betrakter kommando-grupper som en helhet, det vil si at grupperende parenteser ikke er nødvendig. I det neste eksemplet ser søkemønsteret slik ut: siffer fra 0 til 9 en eller flere ganger:

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

Resultatet av kjøring av koden:

'! ! ! abc @@@'

Eksempel

I det neste eksemplet ser søkemønsteret slik ut: hva som helst en eller flere ganger, men ikke et siffer fra 0 til 9:

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

Resultatet av kjøring av koden:

'123!3!'

Eksempel

I dette eksemplet ser søkemønsteret slik ut: blanktegn en gang:

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

Resultatet av kjøring av koden:

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

Eksempel

I dette eksemplet ser søkemønsteret slik ut: IKKE blanktegn en eller flere ganger. Alle delstrenger, skilt med mellomrom, vil bli erstattet med '!':

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

Resultatet av kjøring av koden:

'! ! ! ! !'

Eksempel

I dette eksemplet ser søkemønsteret slik ut: siffer eller bokstav en eller flere ganger. Alle delstrenger som består av sifre og bokstaver, vil bli erstattet med '!':

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

Resultatet av kjøring av koden:

'! ! ! ! @@@'

Eksempel

I dette eksemplet ser søkemønsteret slik ut: IKKE siffer og IKKE bokstav en eller flere ganger. I vårt tilfelle passer '@@@' og alle mellomrom (de er jo verken sifre eller bokstaver) innenfor denne definisjonen. Legg merke til at det på slutten er ett '!' - den ble til fra strengen ' @@@' - med et mellomrom foran:

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

Resultatet av kjøring av koden:

'1!12!123!Abc!'

Praktiske oppgaver

Gitt en streng:

txt = 'a1a a2a a3a a4a a5a aba aca'

Skriv et regulært uttrykk som finner strenger, hvor det på kantene står bokstaver 'a', og mellom dem er det ett siffer.

Gitt en streng:

txt = 'a1a a22a a333a a4444a a55555a aba aca'

Skriv et regulært uttrykk som finner strenger, hvor det på kantene står bokstaver 'a', og mellom dem er et hvilket som helst antall sifre.

Gitt en streng:

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

Skriv et regulært uttrykk som finner strenger, hvor det på kantene står bokstaver 'a', og mellom dem er et hvilket som helst antall sifre (inkludert null sifre, det vil si strengen 'aa').

Gitt en streng:

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

Skriv et regulært uttrykk som finner strenger av følgende type: på kantene står bokstaver 'a' og 'b', og mellom dem - ikke et tall og ikke et mellomrom.

Gitt en streng:

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

Skriv et regulært uttrykk som finner strenger av følgende type: på kantene står bokstaver 'a' og 'b', og mellom dem - ikke en bokstav, ikke et siffer og ikke et mellomrom.

Gitt en streng:

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

Skriv et regulært uttrykk som erstatter alle mellomrom med '!'.

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