Der 'oder'-Befehl in JavaScript Regular Expressions
In dieser Lektion analysieren wir den Befehl
'|', der eine leistungsfähigere
Variante von 'oder' im Vergleich
zum Befehl [ ] darstellt. Dieser Befehl erlaubt es,
den regulären Ausdruck in mehrere Teile zu teilen.
Dabei kann das Gesuchte entweder auf einen
Teil des regulären Ausdrucks passen oder auf einen anderen. Lassen Sie uns
das an Beispielen sehen.
Beispiel
In diesem Beispiel ist das Suchmuster wie folgt: drei
Buchstaben 'a' oder drei Buchstaben 'b':
let str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');
In der Variablen wird folgendes gespeichert:
'! ! abb'
Beispiel
In diesem Beispiel ist das Suchmuster wie folgt: drei
Buchstaben 'a' oder 1 oder mehr
Buchstaben 'b':
let str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');
In der Variablen wird folgendes gespeichert:
'! ! ! ! axx'
Beispiel
In diesem Beispiel ist das Suchmuster wie folgt: ein oder mehrere Buchstaben oder drei Ziffern:
let str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');
In der Variablen wird folgendes gespeichert:
'! ! ! 1 12 !'
Beispiel
Der senkrechte Strich kann den regulären Ausdruck nicht nur in zwei Teile, sondern in beliebig viele Teile teilen:
let str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');
In der Variablen wird folgendes gespeichert:
'! ! ! ddd'
Beispiel
Wenn der senkrechte Strich innerhalb von runden
Klammern steht, dann funktioniert das 'oder' nur innerhalb
dieser Klammern.
Lassen Sie uns als Beispiel Zeichenketten nach folgendem
Muster finden: am Anfang steht entweder 'a',
oder 'b' ein oder mehrere Male, und danach
zwei Buchstaben 'x':
let str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');
In der Variablen wird folgendes gespeichert:
'! ! ! exx'
Praktische Aufgaben
Gegeben sei die Zeichenkette:
let str = 'aeeea aeea aea axa axxa axxxa';
Schreiben Sie einen regulären Ausdruck, der Zeichenketten
nach folgendem Muster findet: an den Rändern stehen die Buchstaben 'a',
und dazwischen - entweder der Buchstabe 'e' beliebig
viele Male oder der Buchstabe 'x' beliebig
viele Male.
Gegeben sei die Zeichenkette:
let str = 'aeeea aeea aea axa axxa axxxa';
Schreiben Sie einen regulären Ausdruck, der Zeichenketten
nach folgendem Muster findet: an den Rändern stehen die Buchstaben 'a',
und dazwischen - entweder der Buchstabe 'e' zwei Mal
oder der Buchstabe 'x' beliebig viele Male.