SyntaxError: invalid character in class in regular expression
Ngoại lệ JavaScript "invalid character in class in regular expression" xảy ra khi một ký tự xuất hiện trong lớp ký tự chế độ v nhưng không được phép xuất hiện theo nghĩa đen.
Thông báo
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)
Loại lỗi
SyntaxError
Điều gì đã xảy ra?
Thông thường, lớp ký tự có thể chứa hầu hết các ký tự theo nghĩa đen. Tuy nhiên, chế độ v làm cho cú pháp lớp ký tự phức tạp hơn, và để dành không gian cho các phần mở rộng cú pháp trong tương lai, một số ký tự cú pháp bị cấm xuất hiện theo nghĩa đen trong lớp ký tự. Chúng bao gồm: (, ), [, ], {, }, /, -, |. Nếu bạn muốn khớp với các ký tự đặc biệt này theo nghĩa đen, hãy thoát chúng; ví dụ: /[\|]/v.
Ví dụ
>Các trường hợp không hợp lệ
js
/[(){}]/v;
Các trường hợp hợp lệ
js
/[\(\)\{\}]/v;