Caret-tegnet inne i sett i regulære uttrykk i Python
Som du vet, gjør caret-tegnet inne i [ ]
om til negasjon, når det skrives i
begynnelsen av parentesene. Dette betyr at det er et
spesialtegn inne i disse parentesene. For å
få caret-tegnet som et vanlig tegn, må du enten
escape det eller flytte det fra første
plass.
Eksempel
I følgende eksempel er søkemønsteret slik:
første tegn er alt bortsett fra 'd',
deretter to bokstaver 'x':
txt = 'axx bxx ^xx dxx'
res = re.sub('[^d]xx', '!', txt)
print(res)
Resultatet som lagres i variabelen blir følgende:
'! ! ! dxx'
Eksempel
Nå er søkemønsteret slik: første
tegn er 'd' eller '^',
deretter to bokstaver 'x':
txt = 'axx bxx ^xx dxx'
res = re.sub('[d^]xx', '!', txt)
print(res)
Resultatet som lagres i variabelen blir følgende:
'axx bxx ! !'
Eksempel
Du trenger ikke å flytte caret-tegnet fra første plass, du kan bare escape det ved hjelp av backslash, så vil det representere seg selv:
txt = 'axx bxx ^xx dxx'
res = re.sub('[\^d]xx', '!', txt)
print(res)
Resultatet som lagres i variabelen blir følgende:
'axx bxx ! !'
Praktiske oppgaver
Gitt en streng:
txt = '^xx axx ^zz bkk @ss'
Skriv et regulært uttrykk som finner strenger med mønsteret: caret-tegn eller krøllalfa, og deretter to latinske bokstaver.
Gitt en streng:
txt = '^xx axx ^zz bkk @ss'
Skriv et regulært uttrykk som finner strenger med mønsteret: IKKE caret-tegn og ikke krøllalfa, og deretter to latinske bokstaver.
Gitt en streng:
txt = '^xx axx ^zz bkk'
Skriv et regulært uttrykk som finner strenger med mønsteret: ikke caret-tegn og ikke mellomrom, og deretter to latinske bokstaver.