SyntaxError: incomplete quantifier in regular expression

當正則表示式模式包含 {,但它沒有開始一個有效的量詞時,會發生 JavaScript 異常“正則表示式中量詞不完整”。

訊息

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)

錯誤型別

SyntaxError

哪裡出錯了?

正則表示式模式中的 { 字元表示一個量詞的開始。一個有效的量詞格式為 {n}{n,}{n,m},其中 nm 是非負整數,且 m 不小於 n。如果 { 字元沒有開始一個有效的量詞,則會發生 SyntaxError

在非 Unicode 感知模式下,此語法會導致 { 成為字面字元,而不是生成錯誤,但這是一個已棄用的語法,不應依賴它。

示例

無效案例

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

有效情況

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

另見