SyntaxError: invalid character in class in regular expression
當字元出現在v 模式字元類中但又不允許以字面量形式出現時,就會發生 JavaScript 異常“正則表示式中的字元類中包含無效字元”。
訊息
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。
示例
無效案例
js
/[(){}]/v;
有效情況
js
/[\(\)\{\}]/v;