Invertering av teckenuppsättningar i reguljära uttryck

Med hjälp av cirkumflex '^' i början av hakparenteser kan man invertera önskat. Om till exempel kommandot [ab] söker efter bokstaven 'a' eller 'b', så kommer kommandot [^ab] att söka efter alla tecken utom 'a' och 'b'.

Exempel

I detta exempel ser sökmönstret ut så här: bokstaven 'x', sedan INTE bokstaven 'a', inte 'b' och inte 'c', sedan bokstaven 'z':

pythontxt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)

print(res)

Resultat av kodkörning:

python'xax xbx xcx !'

Exempel

I detta exempel ser sökmönstret ut så här: bokstaven 'x', sedan INTE liten latinsk bokstav, sedan bokstaven 'z':

pythontxt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)

print(res)

Resultat av kodkörning:

python'xaz xbz ! !'

Praktiska uppgifter

Задание 1

Skriv ett reguljärt uttryck som hittar strängar enligt mönstret: siffra 1, sedan tecken som inte är 'e' och inte 'x', siffra 2.

Задание 2

Skriv ett reguljärt uttryck som hittar strängar enligt mönstret: bokstaven 'x', sedan INTE siffra från 2 till 7, bokstaven 'z'.

Задание 3

Skriv ett reguljärt uttryck som hittar strängar enligt mönstret: bokstaven 'x', sedan INTE stor latinsk bokstav från 1 och fler gånger, bokstaven 'z'.

Задание 4

Skriv ett reguljärt uttryck som hittar strängar enligt mönstret: bokstaven 'x', sedan INTE stor eller liten latinsk bokstav och inte siffra från 1 till 5 från 1 och fler gånger, bokstaven 'z'.