SyntaxError: недействительный unicode escape в регулярном выражении
Исключение JavaScript "invalid unicode escape in regular expression" возникает, когда за символьными экранирующими последовательностями \c и \u не следуют допустимые символы.
Сообщение
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)
Тип ошибки
Что пошло не так?
В Unicode-aware mode режиме, экранирующая последовательность \c должна сопровождаться буквой от A до Z или от a до z, а за экранирующей последовательностью \u должны следовать либо 4 шестнадцатеричные цифры, либо от 1 до 6 шестнадцатеричных цифр, заключённых в фигурные скобки ({}). Кроме того, при использовании экранирующей последовательности \u{xxx} цифры должны представлять собой допустимую кодовую точку Юникода, что означает, что её значение не может превышать 10FFFF.
Примеры
Недопустимые случаи
/\u{123456}/u; // Unicode code point is too large
/\u65/u; // Not enough digits
/\c1/u; // Not a letter
Допустимые случаи
/\u0065/u; // Lowercase "e"
/\u{1f600}/u; // Grinning face emoji
/\cA/u; // U+0001 (Start of Heading)
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Regex_invalid_unicode_escape