Invertierung von Zeichensätzen in Regex

Mit dem Zirkumflex '^' am Anfang eckiger Klammern kann man das Gewünschte invertieren. Wenn zum Beispiel der Befehl [ab] nach dem Buchstaben 'a' oder 'b' sucht, dann wird der Befehl [^ab] nach allen Zeichen suchen, außer 'a' und 'b'.

Beispiel

In diesem Beispiel sieht das Suchmuster folgendermaßen aus: Buchstabe 'x', dann NICHT Buchstabe 'a', nicht 'b' und nicht 'c', dann Buchstabe 'z':

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

print(res)

Ergebnis der Codeausführung:

python'xax xbx xcx !'

Beispiel

In diesem Beispiel sieht das Suchmuster folgendermaßen aus: Buchstabe 'x', dann KEIN Kleinbuchstabe des lateinischen Alphabets, dann Buchstabe 'z':

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

print(res)

Ergebnis der Codeausführung:

python'xaz xbz ! !'

Praktische Aufgaben

Задание 1

Schreiben Sie einen regulären Ausdruck, der Zeichenketten nach folgendem Muster findet: Ziffer 1, dann Zeichen nicht 'e' und nicht 'x', Ziffer 2.

Задание 2

Schreiben Sie einen regulären Ausdruck, der Zeichenketten nach folgendem Muster findet: Buchstabe 'x', dann NICHT Ziffer von 2 bis 7, Buchstabe 'z'.

Задание 3

Schreiben Sie einen regulären Ausdruck, der Zeichenketten nach folgendem Muster findet: Buchstabe 'x', dann NICHT Großbuchstabe des lateinischen Alphabets 1 Mal oder öfter, Buchstabe 'z'.

Задание 4

Schreiben Sie einen regulären Ausdruck, der Zeichenketten nach folgendem Muster findet: Buchstabe 'x', dann NICHT Groß- oder Kleinbuchstabe des lateinischen Alphabets und nicht Ziffer von 1 bis 5 1 Mal oder öfter, Buchstabe 'z'.