Simboli i kapelës brenda grupeve në regex te Python

Siç e dini, kapela brenda [ ] bën mohimin, kur shkruhet në fillim të kllapave. Kjo do të thotë, ajo është një simbol special brenda këtyre kllapave. Për të marrë kapelen si simbol, duhet ose të escape-osh atë, ose ta largosh nga vendi i parë.

Shembull

Në shembullin vijues, modeli i kërkimit është: simboli i parë është gjithçka përveç 'd', pastaj dy shkronja 'x':

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

print(res)

Si rezultat, në variabël do të shkruhet sa vijon:

python'! ! ! dxx'

Shembull

Tani modeli i kërkimit është: simboli i parë është 'd' ose '^', pastaj dy shkronja 'x':

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

print(res)

Si rezultat, në variabël do të shkruhet sa vijon:

python'axx bxx ! !'

Shembull

Mund të mos e largoni kapelen nga vendi i parë, por thjesht ta escape-oni atë duke përdorur backslash, dhe ajo do të fillojë të nënkuptojë veten:

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

print(res)

Si rezultat, në variabël do të shkruhet sa vijon:

python'axx bxx ! !'

Detyra praktike

Задание 1

Është dhënë një varg:

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

Shkruani një regex që do të gjejë vargjet sipas modelit: kapelë ose simbol @, e më pas dy shkronja latine.

Задание 2

Është dhënë një varg:

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

Shkruani një regex që do të gjejë vargjet sipas modelit: JO kapelë dhe jo simbol @, por pastaj dy shkronja latine.

Задание 3

Është dhënë një varg:

pythontxt = '^xx axx ^zz bkk'

Shkruani një regex që do të gjejë vargjet sipas modelit: jo kapelë dhe jo hapësirë, por pastaj dy shkronja latine.