Get it on Google Play

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.

87. Regex: Zeichenauswahl

Die letzte Lektion führte als Metazeichen den Punkt ein. Er steht für ein beliebiges Zeichen. So steht /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:
var var t1 = /M[ae]ier/.test("Maier");
var t2 = /M[ae]ier/.test("Meier");
var t3 = /M[ae]ier/.test("Mxier");
var 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 pruefe, die feststellt, ob ein String den Namen Meier in einer der 4 Schreibweisen Maier, Meier, Mayer oder Meyer enthält. pruefe("Frau Mayer") sollte true und pruefe("Herr Mezer") sollte false ergeben.