SyntaxError: invalid unicode escape in regular expression
Die JavaScript-Ausnahme „invalid unicode escape in regular expression“ tritt auf, wenn auf \c und \u als Zeichen-Escape-Sequenzen keine gültigen Zeichen folgen.
Meldung
SyntaxError: Invalid regular expression: /\u{123456}/u: Invalid Unicode escape (V8-based)
SyntaxError: invalid unicode escape in regular expression (Firefox)
SyntaxError: Invalid regular expression: invalid Unicode code point \u{} escape (Safari)
Fehlertyp
SyntaxError
Was ist schiefgelaufen?
Im Unicode-bewussten Modus muss auf die Escape-Sequenz \c ein Buchstabe von A bis Z oder von a bis z folgen. Auf die Escape-Sequenz \u müssen entweder 4 Hexadezimalziffern oder 1 bis 6 Hexadezimalziffern in geschweiften Klammern ({}) folgen. Bei der Escape-Sequenz \u{xxx} müssen die Ziffern außerdem einen gültigen Unicode-Codepunkt darstellen. Sein Wert darf also 10FFFF nicht überschreiten.
Beispiele
>Ungültige Fälle
js
/\u{123456}/u; // Unicode code point is too large
/\u65/u; // Not enough digits
/\c1/u; // Not a letter
Gültige Fälle
js
/\u0065/u; // Lowercase "e"
/\u{1f600}/u; // Grinning face emoji
/\cA/u; // U+0001 (Start of Heading)