Invertierung von Zeichensätzen in Regex

Mit dem Zirkumflex ^ am Anfang der eckigen Klammern kann man die gewünschte Bedeutung invertieren. Das heißt, wenn zum Beispiel der Befehl [ab] nach dem Buchstaben 'a' oder 'b' sucht, dann sucht der Befehl [^ab] nach allen Zeichen, außer 'a' und 'b'.

Beispiel

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

php<?php
  $str = 'xaz xbz xcz xez';
  $res = preg_replace('#x[^abc]z#', '!', $str);
?>

In der Variablen wird folgendes gespeichert:

php'xaz xbz xcz !'

Beispiel

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

php<?php
  $str = 'xaz xbz x1z xCz';
  $res = preg_replace('#x[^a-z]z#', '!', $str);
?>

In der Variablen wird folgendes gespeichert:

php'xaz xbz ! !'

Praktische Aufgaben

Задание 1

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

Задание 2

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

Задание 3

Schreiben Sie einen regulären Ausdruck, der Zeichenketten nach folgendem Muster findet: Buchstabe 'x', dann KEIN 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 weder ein Groß- noch ein Kleinbuchstabe des lateinischen Alphabets und keine Ziffer von 1 bis 5, 1 Mal oder öfter, Buchstabe 'z'.