SyntaxError: ungültiges Zeichen in einer Klasse in regulärem Ausdruck
Die JavaScript-Ausnahme "ungültiges Zeichen in einer Klasse in regulärem Ausdruck" tritt auf, wenn ein Zeichen in einer v-Modus-Zeichenklasse erscheint, das nicht wörtlich auftreten darf.
Meldung
SyntaxError: Invalid regular expression: /[|]/v: Invalid character in character class (V8-based) SyntaxError: invalid character in class in regular expression (Firefox) SyntaxError: Invalid regular expression: invalid class set character (Safari)
Fehlertyp
SyntaxError
Was ist schief gelaufen?
Normalerweise können Zeichenklassen fast alle Zeichen wörtlich enthalten. Der v-Modus hat jedoch die Syntax der Zeichenklassen erweitert, und um Platz für zukünftige Syntaxerweiterungen zu lassen, ist es verboten, bestimmte Syntaxzeichen wörtlich in einer Zeichenklasse erscheinen zu lassen. Dazu gehören: (, ), [, ], {, }, /, -, |. Wenn Sie diese Zeichen wörtlich abgleichen möchten, müssen Sie sie escapen; zum Beispiel: /[\|]/v.
Beispiele
>Ungültige Fälle
js
/[(){}]/v;
Gültige Fälle
js
/[\(\)\{\}]/v;