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':
let str = 'xaz xbz xcz xez';
let res = str.replace(/x[^abc]z/g, '!');
Infolgedessen wird in die Variable folgendes geschrieben:
'xax xbx xcx !'
Beispiel
In diesem Beispiel sieht das Suchmuster so aus:
Buchstabe 'x', dann KEIN kleiner lateinischer
Buchstabe, dann Buchstabe 'z':
let str = 'xaz xbz x1z xCz';
let res = str.replace(/x[^a-z]z/g, '!');
Infolgedessen wird in die Variable folgendes geschrieben:
'xaz xbz ! !'
Praktische Aufgaben
Schreiben Sie einen regulären Ausdruck, der Zeichenketten
nach dem Muster findet: Ziffer '1', dann Zeichen
nicht 'e' und nicht 'x', Ziffer '2'.
Schreiben Sie einen regulären Ausdruck, der Zeichenketten
nach dem Muster findet: Buchstabe 'x', dann NICHT
Ziffer von 2 bis 7, Buchstabe 'z'.
Schreiben Sie einen regulären Ausdruck, der Zeichenketten
nach dem Muster findet: Buchstabe 'x', dann NICHT
großer lateinischer Buchstabe von 1 und mehr
mal, Buchstabe 'z'.
Schreiben Sie einen regulären Ausdruck, der Zeichenketten
nach dem Muster findet: Buchstabe 'x', dann NICHT
großer oder kleiner lateinischer Buchstabe und nicht Ziffer
von 1 bis 5 von 1 und mehr
mal, Buchstabe 'z'.