Simbol strešice znotraj nizov v regularnih izrazih Python

Kot veste, strešica znotraj [ ] pomeni negacijo, če je zapisana na začetku oklepajev. To pomeni, da je poseben simbol znotraj teh oklepajev. Da bi dobili strešico kot simbol, jo morate ali escapirati, ali premakniti s prvega mesta.

Primer

V naslednjem primeru je vzorec iskanja tak: prvi znak je vse razen 'd', nato dve črki 'x':

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

print(res)

Kot rezultat se bo v spremenljivko zapisalo naslednje:

python'! ! ! dxx'

Primer

Zdaj pa je vzorec iskanja tak: prvi znak je 'd' ali '^', nato dve črki 'x':

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

print(res)

Kot rezultat se bo v spremenljivko zapisalo naslednje:

python'axx bxx ! !'

Primer

Strešice vam ni treba premakniti s prvega mesta, ampak jo lahko preprosto escapirate z uporabo poševnice nazaj, in ta bo predstavljala samo sebe:

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

print(res)

Kot rezultat se bo v spremenljivko zapisalo naslednje:

python'axx bxx ! !'

Praktične naloge

Задание 1

Podan je niz:

pythontxt = '^xx axx ^zz bkk @ss'

Napišite regularni izraz, ki bo našel nize po vzorcu: strešica ali afna, nato pa dve latinični črki.

Задание 2

Podan je niz:

pythontxt = '^xx axx ^zz bkk @ss'

Napišite regularni izraz, ki bo našel nize po vzorcu: NE strešica in ne afna, nato pa dve latinični črki.

Задание 3

Podan je niz:

pythontxt = '^xx axx ^zz bkk'

Napišite regularni izraz, ki bo našel nize po vzorcu: ne strešica in ne presledek, nato pa dve latinični črki.