SyntaxError: недопустимая операция набора классов в регулярном выражении
Исключение JavaScript "invalid class set operation in regular expression" возникает, когда двойная последовательность знаков препинания появляется в v-режиме класса символов, но не распознается синтаксисом.
Сообщение
SyntaxError: Invalid regular expression: /[&&]/v: Invalid set operation in character class (V8-based) SyntaxError: invalid class set operation in regular expression (Firefox) SyntaxError: Invalid regular expression: invalid operation in class set (Safari)
Тип ошибки
Что пошло не так?
Это могло произойти по трем причинам:
- Вы пытаетесь использовать
&&или--, но синтаксис неверен. Каждый из этих операторов должен объединять два символа или набора символов. - Вы смешиваете операторы на одном уровне. Например,
[\w&&[A-z]--_]недействительно, потому что оно использует&&и--на одном уровне. Вам нужно использовать вложенные классы символов для устранения неоднозначности, например[\w&&[[A-z]--_]]. Обратите внимание, что операция объединения использует оператор без текста; например,[AB&&C]недействительно, потому чтоAиBнеявно объединены оператором объединения. Вместо этого вам нужно использовать[A[B&&C]]. - Вы используете двойную последовательность знаков препинания, которая не является
&&или--. Эти последовательности зарезервированы для будущих расширений синтаксиса. К ним относятся:&&,!!,##,$$,%%,**,++,,,,..,::,;;,<<,==,>>,??,@@,^^, ` ``,~~`. Однако эти последовательности в любом случае мало что значат и могут быть либо заменены одним символом, либо привести к слиянию двух соседних диапазонов.
См. также
© 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_class_set_operation