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)
Тип ошибки
Что пошло не так?
Обычно символьные классы могут содержать почти все символы буквально. Однако режим 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