SyntaxError: numbers out of order in {} quantifier.

当正则表达式中的量词使用 {n,m} 语法,但 m 小于 n 时,会发生 JavaScript 异常“{} 量词中数字顺序错误”。

消息

SyntaxError: Invalid regular expression: /1{2,1}/: numbers out of order in {} quantifier (V8-based)
SyntaxError: numbers out of order in {} quantifier. (Firefox)
SyntaxError: Invalid regular expression: numbers out of order in {} quantifier (Safari)

错误类型

SyntaxError

哪里出错了?

正则表达式中的 {n,m} 语法用于指定前一个项目至少匹配 n 次,但不超过 m 次。如果 m 小于 n,则量词毫无意义,因为例如,一个字符不能至少出现 2 次但不多于 1 次。因此,会抛出错误。

示例

无效示例

js
/1{2,1}/;

有效示例

js
/1{1,2}/;

另见