Spec-Zone.ru › JavaScript

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)

Тип ошибки

SyntaxError

Что пошло не так?

В 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)

См. также

  • Регулярные выражения
  • Экранирование символов: \n, \u{...}

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API