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':

pythontxt = 'axx bxx ^xx dxx'
res = re.sub('[^d]xx', '!', txt)

print(res)

Som resultat vil følgende blive skrevet til variablen:

python'! ! ! dxx'

Eksempel

Men nu er søgemønsteret sådan: det første tegn er 'd' eller '^', derefter to bogstaver 'x':

pythontxt = 'axx bxx ^xx dxx'
res = re.sub('[d^]xx', '!', txt)

print(res)

Som resultat vil følgende blive skrevet til variablen:

python'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:

pythontxt = 'axx bxx ^xx dxx'
res = re.sub('[\^d]xx', '!', txt)

print(res)

Som resultat vil følgende blive skrevet til variablen:

python'axx bxx ! !'

Praktiske opgaver

Задание 1

Givet en streng:

pythontxt = '^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.

Задание 2

Givet en streng:

pythontxt = '^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.

Задание 3

Givet en streng:

pythontxt = '^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.