javascript - 我是错觉了,还是 JS RegExp 支持可选的重复范围?

标签 javascript regex

/\d{,5}/.test('')

我以为那是一回事,但显然不是。为什么一个人会这么想?

最佳答案

量词 {n1,n2} 一个有效的 JavaScript 正则表达式量词,它将匹配 n1 到 n2 次(含)。

但是,{,n} 表示量词,因为需要最小界限。有关语法产生式和规则,请参阅 15.10.2.7 Quantifier 部分。

以下都介绍了一个有效的范围量词:

/\d{3,5}/.test('12')      // false
/\d{3,5}/.test('1234')    // true
/\d{3,5}/.test('123456')  // false

另一方面,以下正则表达式不会创建量词。相反,产生式被解析为没有特殊含义的文字文本:

/a{,5}b/.test('a{,5}b')   // true, at least in Chrome and IE

关于javascript - 我是错觉了,还是 JS RegExp 支持可选的重复范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20135178/

相关文章:

javascript - 将随机类添加到附加 div 中? (jquery)

javascript - 单击或使用链接打开时更改 Accordion 标题上的文本

javascript - 函数仅保存并打印数组中的一个值。如何修复它?

javascript - Chrome开发工具: finding the source of an event in the performance analysis tool?

javascript - JS逆向有点值(value)

Python:如何替换第 i 个到第 j 个匹配项的字符?

python - 在 Python 中获取匹配字符串的特定模式后出现的数字

java - 根据 RFC5322 和 https ://en. 进行电子邮件 ID 验证 wikipedia.org/wiki/Email_address

regex - 删除每行开头的行号

regex - 在 Perl 中替换特定的捕获组而不是整个正则表达式