molily: Teilstring aus Textfeld über Regulären Ausdruck extrahieren

Beitrag lesen

reg = new RegExp(' ');

Ziemlich umständliche Schreibweise, man kann auch einfach / / schreiben.

Noch was zu /\s/G: Es gibt keinen G-Flag, aber einen g-Flag für "global match". Was an der Stelle keinen Unterschied macht, jedenfalls hilft der einem nicht dabei, die Position des gefundenen Zeichens zu finden. /\s/G müsste einen Syntaxfehler erzeugen.

Und zu /^.*\b/: Der Punkt darf natürlich nicht mit \ maskiert sein. Außerdem wird dieser (korigierte) Ausdruck nicht funktionieren, weil .* greedy (gierig) ist. Dieser Teilausdruck schluckt soviele Zeichen wie möglich (also den ganzen Namen) und bricht nicht beim ersten Nicht-Wort-Zeichen (\b) ab. Dazu müsste man /^.+?\b/ verwenden. Mit .+ mindestens ein Zeichen, aber durch das ? dahinter nicht gierig, sodass nur "Brigitte" gefunden wird.

if (reg.test(wert)
vorname = RegExp.leftContext;

leftContext ist Netscape JavaScript, seit Version 1.5 missbilligt, weil nicht in ECMAScript standardisiert und i.d.R. schlicht nicht benötigt. Ob das alle Browser unterstützen, kann daher bezweifelt werden.

Mathias