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] 是無效的,因為 AB 透過並集運算子隱式連線。您需要改用 [A[B&&C]]
  • 您正在使用不是 &&-- 的雙標點符號序列。這些序列是為將來的語法擴充套件保留的。它們包括: &&!!##$$%%**++,,..::;;<<==>>??@@^^``~~。然而,這些序列無論如何都沒有多大意義,並且可以被單個字元替換,或者導致兩個相鄰的範圍合併。

另見