Spec-Zone.ru › JavaScript

SyntaxError: недопустимый символ в классе регулярного выражения

Исключение JavaScript "invalid character in class in regular expression" возникает, когда символ появляется в символьном классе режима v, но ему не разрешено появляться буквально.

Сообщение

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)

Тип ошибки

SyntaxError

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

Обычно символьные классы могут содержать почти все символы буквально. Однако режим v сделал синтаксис символьных классов более сложным, и для того, чтобы оставить место для будущих расширений синтаксиса, некоторым синтаксическим символам запрещено появляться буквально в символьном классе. Они включают: (, ), [, ], {, }, /, -, |. Если вы хотите сопоставить эти буквальные символы, экранируйте их; например: /[\|]/v.

Примеры

Недопустимые случаи

/[(){}]/v;

Допустимые случаи

/[\(\)\\{\\}]/v;

Смотрите также

  • Регулярные выражения
  • Символьный класс: [...], [^...]

© 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_char_in_class

Spec-Zone.ru

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