SyntaxError: invalid regexp group

Ngoại lệ JavaScript "invalid regexp group" xảy ra khi chuỗi (? không bắt đầu một cú pháp nhóm hợp lệ. Các cú pháp nhóm được nhận ra bắt đầu bằng (? bao gồm:

(? theo sau bởi bất kỳ ký tự nào khác sẽ gây ra lỗi này.

Thông báo

SyntaxError: Invalid regular expression: /(?1)/: Invalid group (V8-based)
SyntaxError: invalid regexp group (Firefox)
SyntaxError: Invalid regular expression: unrecognized character after (? (Safari)

Loại lỗi

SyntaxError

Điều gì đã xảy ra?

? không phải là nguyên tử, vì vậy không có ý nghĩa gì khi xuất hiện ở đầu của một nhóm bắt giữ (?bộ định lượng và nên đặt sau một nguyên tử). Có thể bạn muốn khớp ký tự ? theo nghĩa đen, trong trường hợp đó bạn nên thoát nó bằng dấu gạch chéo ngược (\?). Có thể bạn nhớ nhầm cú pháp regex và bạn muốn sử dụng một trong các cú pháp nhóm được nhận ra ở trên. Có thể bạn đang sử dụng một tính năng không được hỗ trợ bởi engine JavaScript hiện tại.

Ví dụ

Các trường hợp không hợp lệ

js
/Hello(?|!)/;
// Đây là cú pháp Perl
/(?[\p{Thai}&\p{Digit}])/;

Các trường hợp hợp lệ

js
/Hello(\?|!)/;
// Đây là cú pháp JavaScript cho các phép toán tập hợp ký tự
/[\p{Thai}&&\p{Digit}]/v;

Xem thêm