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}
,其中 n
和 m
是非负整数,且 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;