Die Regex wird im Handumdrehen erstellt, aber ich habe sie an Firebug ausgegeben:
%Vor%Der Fehler ist
%Vor%Ich bin mir nicht sicher, wo ich anfangen soll.
Der eigentliche Code ist:
%Vor%UPDATE: Per Bennor McCarthy's Anweisungen habe ich den Code folgendermaßen geändert:
%Vor%Firebug sagt mir das immer noch:
%Vor%EIN WEITERES UPDATE Sieht so aus, als ob ich es doppelt streichen müsste und das hat das Problem gelöst!
Das Problem ist das +, das ein Quantifizierer ist, dem Sie entkommen müssen.
Verwenden Sie stattdessen:
%Vor%oder in einer Zeichenfolge:
%Vor% Wenn Sie das Literal $ gefolgt von einem Newline abgleichen möchten, müssen Sie das $ mit \
(oder \
innerhalb eines Strings - siehe meinen letzten Kommentar darunter für eine Erklärung).
Hier sind einige Informationen zu Quantifizierern .
Ein Quantifizierer bedeutet "wie viele". Am gebräuchlichsten ist "*", was null oder mehr bedeutet. Der Quantifizierer "+" bedeutet eins oder mehrere.
Wenn Sie einen Fehler über einen ungültigen Quantifizierer bekommen, bedeutet das fast immer, dass Sie einen Quantifizierer haben, wo er nicht hingehört. Zum Beispiel, da sie "wie viele" bedeuten, müssen sie sich offensichtlich auf etwas beziehen. Wenn Sie einen am Anfang eines Musters oder einer Gruppe platzieren, denkt die Regex "wie viele _von was?"
In Ihrem speziellen Fall haben Sie ein "+" unmittelbar nach dem Gruppierungszeichen "(", weshalb Sie den Fehler erhalten. Sie müssen entweder das "+" entkommen lassen, damit es nicht als Quantifizierer behandelt wird, oder etwas hinzufügen In diesem Fall ist es wahrscheinlich der erste, wenn Sie versuchen, ein tatsächliches "+" - Zeichen zu finden.
Tags und Links javascript regex quantifiers