Der Browser-Speicher localStorage ist nicht verfügbar. Entweder unterstützt dein Browser ihn nicht oder du hast ihn deaktiviert oder er ist voll. Ohne localStorage werden deine Lösungen nicht gespeichert.
Regex: Zeichenauswahl
Die letzte Lektion führte als Metazeichen den Punkt ein.
Er steht für ein beliebiges Zeichen. So steht
Die Auswahl kann beliebig viele Zeichen enthalten.
/M.ier/ sowohl für Maier
als auch für Meier. Er steht aber auch für Mxier.
Möchte man letzteres ausschließen, so muss man die Zeichenauswahl auf a
und e begrenzen. Dazu schreibt man die gewünschte Auswahl in eckige Klammern:
let t1 = /M[ae]ier/.test('Maier');
let t2 = /M[ae]ier/.test('Meier');
let t3 = /M[ae]ier/.test('Mxier');
let t4 = /M[ae]ier/.test('Maeier');
Der Ausdruck in eckigen Klammern steht für genau ein Zeichen aus diesem Ausdruck.
/[ae]/ steht also für ein Zeichen, das ein a oder ein e ist.
/M[ae]ier/ steht dann für Maier oder Meier.
Die Variablen t1 sowie t2 sind true und t3
ist false. Da /[ae]/ für genau ein Zeichen steht, ist t4
auch false.Die Auswahl kann beliebig viele Zeichen enthalten.
/[abc]/ steht für a, b oder c
und /[123456]/ steht für eine Ziffer von 1 bis 6.Aufgabe
Schreibe eine Funktion
Beispiel:
pruefe, die feststellt, ob ein String den Namen
Meier in einer der 4 Schreibweisen Maier, Meier, Mayer oder Meyer enthält.Beispiel:
pruefe('Frau Mayer') sollte true und
pruefe('Herr Mezer') sollte false ergeben.
+ Tipp
function pruefe(s) {
// Verwende die Zeichenauswahl
// zweimal.
}
+ Lösung
function pruefe(s) {
return /M[ae][iy]er/.test(s);
}
