⊗pyPmREMl 50 of 129 menu

Flerlinjetilstand i Python regex

Regex har sine særegenheter når man jobber med flerlinjede strenger. La oss undersøke dem ved å bruke følgende streng som eksempel, som inneholder vanlige tegn, linjeskift og tabulatorer:

txt = '''111 222 333 444'''

Linjeskift

Linjeskift-tegn kan fanges med kommandoen '\n':

res = re.sub('\n', '!', txt) print(res)

Resultatet vil være følgende streng (mellomrommene mellom linjene er tabulatorer):

'111! 222! 333! 444'

Tabulator

Tabulator-tegn kan fanges med kommandoen '\t':

res = re.sub('\t', '!', txt) print(res)

Resultat av kjøring:

''' !111 !222 !333 !444 '''

Punktums funksjon

Kommandoen '.' for en flerlinjet streng fanger ikke linjeskift-tegn:

res = re.sub('.', '!', txt) print(res)

Resultat av kjøring:

''' !!! !!!! !!!! !!!! '''

Ethvert tegn

For å fange alle tegn i en flerlinjet streng, brukes et lurt triks med kombinasjonen [\s\S]. Denne konstruksjonen vil finne alle vanlige tegn og alle linjeskift:

res = re.sub('[\s\S]', '!', txt) print(res)

Resultat av kjøring:

'!!!!!!!!!!!!!!!!!!'

Dollar

Kommandoen '$' i flerlinjet modus vil fange slutten av hver linje:

res = re.sub('$', '!', txt) print(res)

Resultat av kjøring:

''' 111! 222! 333! 444! '''

Praktiske oppgaver

Gitt strengen:

''' abc def ghi jkl '''

Skriv et regex som gjør om denne strengen til følgende:

''' abc! def! ghi! jkl! '''

Gitt strengen:

''' abc def ghi jkl '''

Skriv et regex som gjør om denne strengen til følgende:

''' ! abc ! def ! ghi ! jkl '''

Gitt strengen:

''' abc def ghi jkl '''

Skriv et regex som gjør om denne strengen til følgende:

'''! abc def ghi jkl !'''

Gitt strengen:

''' abc def ghi jkl '''

Skriv et regex som gjør om denne strengen til følgende:

'''! ! abc ! def ! ghi ! jkl !'''

Gitt strengen:

''' abc def ghi jkl '''

Skriv et regex som gjør om denne strengen til følgende:

'''! abc! def! ghi! jkl! !'''

Gitt strengen:

''' abc def ghi jkl '''

Skriv et regex som gjør om denne strengen til følgende:

''' !abc !def !ghi !jkl '''
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