Hat-tegnet inde i sæt i Python regex
Som du ved, laver hat-tegnet inde i [ ]
en negation, når det skrives i
starten af parenteserne. Det betyder, at det er et
specialsymbol inde i disse parenteser. For at
få hat-tegnet som et symbol, skal du enten
escape det eller fjerne det fra første
plads.
Eksempel
I det følgende eksempel er søgemønsteret sådan:
det første tegn er alt undtagen 'd',
derefter to bogstaver 'x':
txt = 'axx bxx ^xx dxx'
res = re.sub('[^d]xx', '!', txt)
print(res)
Som resultat vil følgende blive skrevet til variablen:
'! ! ! dxx'
Eksempel
Men nu er søgemønsteret sådan: det første
tegn er 'd' eller '^',
derefter to bogstaver 'x':
txt = 'axx bxx ^xx dxx'
res = re.sub('[d^]xx', '!', txt)
print(res)
Som resultat vil følgende blive skrevet til variablen:
'axx bxx ! !'
Eksempel
Du behøver ikke at fjerne hat-tegnet fra første plads, du kan blot escape det med en omvendt skråstreg, og det vil betyde sig selv:
txt = 'axx bxx ^xx dxx'
res = re.sub('[\^d]xx', '!', txt)
print(res)
Som resultat vil følgende blive skrevet til variablen:
'axx bxx ! !'
Praktiske opgaver
Givet en streng:
txt = '^xx axx ^zz bkk @ss'
Skriv et regulært udtryk, der finder strenge efter mønsteret: hat eller at-symbol, og derefter to latinske bogstaver.
Givet en streng:
txt = '^xx axx ^zz bkk @ss'
Skriv et regulært udtryk, der finder strenge efter mønsteret: IKKE hat og ikke at-symbol, men derefter to latinske bogstaver.
Givet en streng:
txt = '^xx axx ^zz bkk'
Skriv et regulært udtryk, der finder strenge efter mønsteret: ikke hat og ikke mellemrum, men derefter to latinske bogstaver.