SyntaxError: invalid class set operation in regular expression
當在v 模式字元類中出現雙標點符號序列,但該序列不被語法識別時,會發生 JavaScript 異常“正則表示式中無效的類集合操作”。
訊息
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)
錯誤型別
SyntaxError
哪裡出錯了?
這可能有三種情況
- 您正在嘗試使用
&&或--,但語法有誤。每個運算子都必須連線兩個字元或字元集。 - 您在同一級別混合使用運算子。例如,
[\w&&[A-z]--_]是無效的,因為它在同一級別使用了&&和--。您需要使用巢狀字元類來消除歧義,例如[\w&&[[A-z]--_]]。請注意,並集操作使用的運算子沒有文字;例如,[AB&&C]是無效的,因為A和B透過並集運算子隱式連線。您需要改用[A[B&&C]]。 - 您正在使用不是
&&或--的雙標點符號序列。這些序列是為將來的語法擴充套件保留的。它們包括:&&、!!、##、$$、%%、**、++、,,、..、::、;;、<<、==、>>、??、@@、^^、``、~~。然而,這些序列無論如何都沒有多大意義,並且可以被單個字元替換,或者導致兩個相鄰的範圍合併。