SyntaxError: ungültige Unicode-Escape-Sequenz im regulären Ausdruck
Die JavaScript-Ausnahme "ungültige Unicode-Escape-Sequenz im regulären Ausdruck" tritt auf, wenn die \c
- und \u
-Zeichen-Escapes nicht von gültigen Zeichen gefolgt werden.
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
Was ist schiefgelaufen?
Im Unicode-bewussten Modus muss die \c
-Escape-Sequenz von einem Buchstaben aus dem Bereich A
bis Z
oder a
bis z
gefolgt werden, und die \u
-Escape-Sequenz muss entweder von 4 hexadezimalen Ziffern oder 1 bis 6 hexadezimalen Ziffern, eingeschlossen in geschweifte Klammern ({}
), gefolgt werden. Darüber hinaus müssen bei der Verwendung der \u{xxx}
-Escape-Sequenz die Ziffern einen gültigen Unicode-Codepunkt darstellen, was bedeutet, dass der Wert 10FFFF
nicht überschreiten darf.
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)