SyntaxError: incomplete quantifier in regular expression

Ngoại lệ JavaScript "incomplete quantifier in regular expression" xảy ra khi một mẫu biểu thức chính quy chứa {, nhưng nó không bắt đầu một bộ định lượng hợp lệ.

Thông báo

SyntaxError: Invalid regular expression: /1{/u: Incomplete quantifier (V8-based)
SyntaxError: incomplete quantifier in regular expression (Firefox)
SyntaxError: Invalid regular expression: incomplete {} quantifier for Unicode pattern (Safari)

Loại lỗi

SyntaxError

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

Ký tự { trong một mẫu biểu thức chính quy bắt đầu một bộ định lượng. Một bộ định lượng hợp lệ có dạng {n}, {n,}, hoặc {n,m}, trong đó nm là các số nguyên không âm và m không nhỏ hơn n. Nếu ký tự { không bắt đầu một bộ định lượng hợp lệ, sẽ xảy ra SyntaxError.

Trong chế độ không nhận biết Unicode, cú pháp này khiến { trở thành ký tự đặc biệt thay vì tạo ra lỗi, nhưng đây là cú pháp đã lỗi thời và bạn không nên dựa vào nó.

Ví dụ

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

js
/1{/u;
/1{a}/u;
/1{}/u;
/1{1,2,3}/u;
/1{1, 2}/u;

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

js
/1{1}/u;
/1{1,}/u;
/1{1,2}/u;

Xem thêm