Zeichengruppen in regulären Ausdrücken in JavaScript
Es gibt spezielle Befehle, die es erlauben,
sofort ganze Gruppen von Zeichen auszuwählen. Der Befehl
\d bedeutet eine Ziffer von 0 bis 9.
Der Befehl \w bezeichnet eine Ziffer, einen lateinischen
Buchstaben oder den Unterstrich. Der Befehl \s
bezeichnet ein Leerzeichen oder ein Leerzeichen-Symbol:
Leerzeichen, Zeilenumbruch, Tabulator. Man kann
die Bedeutung des Befehls umkehren, indem man einen großen
Buchstaben schreibt: wenn zum Beispiel \d - eine Ziffer ist,
dann ist \D - keine Ziffer.
Beispiel
Lassen Sie uns alle Ziffern finden:
let str = '1 12 123';
let res = str.replace(/\d/g, '!');
In der Variablen wird folgendes gespeichert:
'! !! !!!'
Beispiel
Wiederholungsoperatoren betrachten Befehlsgruppen
als Ganzes, das heißt, gruppierende Klammern
sind nicht nötig. Im folgenden Beispiel sieht das Suchmuster
so aus: Ziffer von 0 bis 9
einmal oder mehrmals:
let str = '1 12 123 abc @@@';
let res = str.replace(/\d+/g, '!');
In der Variablen wird folgendes gespeichert:
'! ! ! abc @@@'
Beispiel
Im folgenden Beispiel sieht das Suchmuster
so aus: alles beliebige einmal oder mehrmals,
aber keine Ziffer von 0 bis 9:
let str = '123abc3@@';
let res = str.replace(/\D+/g, '!');
In der Variablen wird folgendes gespeichert:
'123!3!'
Beispiel
In diesem Beispiel sieht das Suchmuster so aus: Leerzeichen-Symbol einmal:
let str = '1 12 123 abc @@@';
let res = str.replace(/\s/g, '!');
In der Variablen wird folgendes gespeichert:
'1!12!123!abc!@@@'
Beispiel
In diesem Beispiel sieht das Suchmuster so aus:
KEIN Leerzeichen-Symbol einmal oder mehrmals.
Alle Teilzeichenketten, die durch Leerzeichen getrennt sind, werden
durch '!' ersetzt:
let str = '1 12 123 abc @@@';
let res = str.replace(/\S+/g, '!');
In der Variablen wird folgendes gespeichert:
'! ! ! ! !'
Beispiel
In diesem Beispiel sieht das Suchmuster so aus:
Ziffer oder Buchstabe einmal oder mehrmals.
Alle Teilzeichenketten, die aus Ziffern und Buchstaben bestehen,
werden durch '!' ersetzt:
let str = '1 12 123a Abc @@@';
let res = str.replace(/\w+/g, '!');
In der Variablen wird folgendes gespeichert:
'! ! ! ! @@@'
Beispiel
In diesem Beispiel sieht das Suchmuster so aus:
KEINE Ziffer und KEIN Buchstabe einmal oder mehrmals.
Auf diese Definition treffen in unserem Fall
'@@@' und alle Leerzeichen zu (sie sind ja auch
weder Ziffern noch Buchstaben). Achten Sie auf
die Tatsache, dass am Ende ein '!' steht - darin
wurde die Zeichenkette ' @@@' - mit
einem Leerzeichen am Anfang - umgewandelt:
let str = '1 12 123 Abc @@@';
let res = str.replace(/\W+/g, '!');
In der Variablen wird folgendes gespeichert:
'1!12!123!Abc!'
Praktische Aufgaben
Gegeben ist eine Zeichenkette:
let str = 'a1a a2a a3a a4a a5a aba aca';
Schreiben Sie einen regulären Ausdruck, der die Zeichenketten findet,
in denen an den Rändern die Buchstaben 'a' stehen,
und dazwischen eine Ziffer steht.
Gegeben ist eine Zeichenkette:
let str = 'a1a a22a a333a a4444a a55555a aba aca';
Schreiben Sie einen regulären Ausdruck, der die Zeichenketten findet,
in denen an den Rändern die Buchstaben 'a' stehen,
und dazwischen eine beliebige Anzahl von Ziffern steht.
Gegeben ist eine Zeichenkette:
let str = 'aa a1a a22a a333a a4444a a55555a aba aca';
Schreiben Sie einen regulären Ausdruck, der die Zeichenketten findet,
in denen an den Rändern die Buchstaben 'a' stehen,
und dazwischen eine beliebige Anzahl von Ziffern (einschließlich
null Ziffern, also die Zeichenkette 'aa') steht.
Gegeben ist eine Zeichenkette:
let str = 'avb a1b a2b a3b a4b a5b abb acb';
Schreiben Sie einen regulären Ausdruck, der die Zeichenketten
folgender Art findet: an den Rändern stehen die Buchstaben
'a' und 'b', und dazwischen - keine
Zahl und kein Leerzeichen.
Gegeben ist eine Zeichenkette:
let str = 'ave a#b a2b a$b a4b a5b a-b acb';
Schreiben Sie einen regulären Ausdruck, der die Zeichenketten
folgender Art findet: an den Rändern stehen die Buchstaben
'a' und 'b', und dazwischen - kein
Buchstabe, keine Ziffer und kein Leerzeichen.
Gegeben ist eine Zeichenkette:
let str = 'ave a#a a2a a$a a4a a5a a-a aca';
Schreiben Sie einen regulären Ausdruck, der alle Leerzeichen
durch '!' ersetzt.