SyntaxError: ungültiges Zeichen in Klasse in regulärem Ausdruck

Die JavaScript-Ausnahme "ungültiges Zeichen in Klasse in regulärem Ausdruck" tritt auf, wenn ein Zeichen in einer v-Modus-Zeichenklasse erscheint, das nicht wörtlich auftreten darf.

Nachricht

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)

Fehlerart

Was ist schiefgelaufen?

Normalerweise können Zeichenklassen fast alle Zeichen wörtlich enthalten. Der v-Modus hat jedoch die Syntax der Zeichenklasse verfeinert, und um Raum für zukünftige Syntaxerweiterungen zu lassen, sind einige Syntaxzeichen verboten, wörtlich in einer Zeichenklasse aufzutreten. 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;

Siehe auch