Zeichensätze in regulären Ausdrücken in JavaScript
Die Zeichengruppen \d und \w sind nicht
sehr flexibel. Selbst eine so einfache Aufgabe wie
alle Buchstaben, aber keine Ziffern finden -
kann von ihnen nicht gelöst werden. Für solche Aufgaben
sollten eckige Klammern verwendet werden, die
die Operation 'Oder' darstellen.
Eckige Klammern ersetzen ein Zeichen,
beliebig eines der darin aufgeführten. Zum Beispiel
so: /x[abc]x/ - wir sagen, dass
an den Rändern die Buchstaben 'x' stehen müssen, und in der Mitte
- ein Zeichen: entweder 'a', oder 'b',
oder 'c'.
Nach eckigen Klammern können Wiederholungsoperatoren
geschrieben werden. Zum Beispiel so: /x[abc]+x/
- wir sagen, dass zwischen den 'x'en eine beliebige Anzahl von Zeichen
'a', 'b' und 'c' - in beliebigen Kombinationen stehen kann.
Man kann nicht nur Zeichen aufzählen, sondern auch
Zeichengruppen erstellen, indem man zwischen zwei Zeichen
einen Bindestrich schreibt. Zum Beispiel so: [a-d] -
erhalten wir alle Zeichen von 'a' bis
'd'.
Lasst uns Beispiele anschauen.
Beispiel
In diesem Beispiel sieht das Suchmuster so aus:
zwischen den 'x'en beliebige Buchstaben von 'a'
bis 'z':
let str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z]x/g, '!');
In der Variablen wird folgendes gespeichert:
'! ! ! x@x'
Beispiel
In diesem Beispiel sieht das Suchmuster so aus:
zwischen den 'x'en beliebige Buchstaben von 'a'
bis 'k':
let str = 'xax xbx xmx x@x';
let res = str.replace(/x[a-k]x/g, '!');
In der Variablen wird folgendes gespeichert:
'! ! xmx x@x'
Beispiel
In diesem Beispiel sieht das Suchmuster so aus:
zwischen den 'x'en beliebige Buchstaben von 'A'
bis 'Z':
let str = 'xax xBx xcx x@x';
let res = str.replace(/x[A-Z]x/g, '!');
In der Variablen wird folgendes gespeichert:
'xax ! xcx x@x'
Beispiel
In diesem Beispiel sieht das Suchmuster so aus:
zwischen den 'x'en beliebige Ziffern von 0 bis 9:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[0-9]x/g, '!');
In der Variablen wird folgendes gespeichert:
'xax ! ! ! x@x'
Beispiel
In diesem Beispiel sieht das Suchmuster so aus:
zwischen den 'x'en beliebige Ziffern von 3 bis 7:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[3-7]x/g, '!');
In der Variablen wird folgendes gespeichert:
'xax x1x ! ! x@x'
Beispiel
In diesem Beispiel sieht das Suchmuster so aus:
zwischen den 'x'en beliebige Buchstaben von 'a'
bis 'z' oder Ziffern von 1 bis 9:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[a-z1-9]x/g, '!');
In der Variablen wird folgendes gespeichert:
'! ! ! ! x@x'
Beispiel
In diesem Beispiel sieht das Suchmuster so aus:
zwischen den 'x'en beliebige Buchstaben von 'a'
bis 'z' oder Buchstaben von 'A' bis
'Z':
let str = 'xax xBx xcx x5x x@x';
let res = str.replace(/x[a-zA-Z]x/g, '!');
In der Variablen wird folgendes gespeichert:
'! ! ! x5x x@x'
Beispiel
In diesem Beispiel sieht das Suchmuster so aus:
zwischen den 'x'en beliebige Buchstaben von 'a'
bis 'z' oder die Ziffern 1, 2:
let str = 'xax xbx x1x x2x x3x';
let res = str.replace(/x[a-z12]x/g, '!');
In der Variablen wird folgendes gespeichert:
'! ! ! ! x3x'
Beispiel
In diesem Beispiel sieht das Suchmuster so aus:
zwischen den 'x'en Buchstaben von 'a' bis 'z'
in der Anzahl von 1 und mehr:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]+x/g, '!');
In der Variablen wird folgendes gespeichert:
'xx ! ! ! x123x xa3x'
Beispiel
Lassen Sie uns es so machen, dass die Anzahl der Buchstaben auch Null sein kann:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]*x/g, '!');
In der Variablen wird folgendes gespeichert:
'! ! ! ! x123x xa3x'
Praktische Aufgaben
Gegeben sei ein String:
let str = 'aba aea aca aza axa';
Schreiben Sie einen regulären Ausdruck, der nach folgendem
Muster sucht: an den Rändern stehen die Buchstaben 'a',
und zwischen ihnen - der Buchstabe 'b', 'e'
oder 'x'.
Gegeben sei ein String:
let str = 'a1a a3a a7a a9a aba';
Schreiben Sie einen regulären Ausdruck, der nach folgendem
Muster sucht: an den Rändern stehen die Buchstaben 'a',
und zwischen ihnen - eine Ziffer von 3 bis 6.
Gegeben sei ein String:
let str = 'aba aea afa aha aga';
Schreiben Sie einen regulären Ausdruck, der nach folgendem
Muster sucht: an den Rändern stehen die Buchstaben 'a',
und zwischen ihnen - ein Buchstabe von a bis g.
Gegeben sei ein String:
let str = 'aba aea afa aha aga';
Schreiben Sie einen regulären Ausdruck, der nach folgendem
Muster sucht: an den Rändern stehen die Buchstaben 'a',
und zwischen ihnen - ein Buchstabe von a bis f und von j bis z.
Gegeben sei ein String:
let str = 'aAa aea aEa aJa a3a';
Schreiben Sie einen regulären Ausdruck, der nach folgendem
Muster sucht: an den Rändern stehen die Buchstaben 'a',
und zwischen ihnen - ein Buchstabe von a bis f und von A bis D.
Gegeben sei ein String:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Schreiben Sie einen regulären Ausdruck, der nach folgendem
Muster sucht: an den Rändern stehen die Buchstaben 'a',
und zwischen ihnen - kleine lateinische Buchstaben,
ohne die anderen zu berühren.
Gegeben sei ein String:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Schreiben Sie einen regulären Ausdruck, der nach folgendem
Muster sucht: an den Rändern stehen die Buchstaben 'a',
und zwischen ihnen - kleine und große lateinische
Buchstaben, ohne die anderen zu berühren.
Gegeben sei ein String:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Schreiben Sie einen regulären Ausdruck, der nach folgendem
Muster sucht: an den Rändern stehen die Buchstaben 'a',
und zwischen ihnen - kleine lateinische Buchstaben
und Ziffern, ohne die anderen zu berühren.