跳转到主要内容
模块 2 · 第 2 课(共 4)课程中的6/32~10 min
模块课程(2/4)

精确数量 `{n,m}`

当您需要精确控制重复次数时,您可以使用 大括号符号 {n,m}:

语法意义
\d{4}正好 4 位数字
\d{2,4}2 到 4 位数字
\d{3,}至少 3 位数字

{n} 相当于 {n,n}。 {n,} 没有最大值。 {,m} 不是 JavaScript 支持(您必须编写 {0,m})。

Code
Pattern: \d{4}
Sample:  Anni: 2020, 2024, 1999, errore 99.
               ^^^^  ^^^^  ^^^^

{4} 在正好四位数字处停止匹配: 99 不匹配,因为它 只有两个。 12345 将匹配前四位数字 (1234),而不是 整个数字。

开放间隔和重复限制

大括号表示法很灵活:{n} 表示精确重复,{n,m} 表示从 n 到 m 的封闭范围,而 {n,} 则保留上限(“至少 n 次”)。引擎有效地处理这些,减少通用量词的歧义。

尝试一下

锻炼#regex.m2.l2.e1
尝试:0加载中...

查找文本中的每个 4 位数年份(例如“2024”,但不是“99”)。

正在加载编辑器...
显示提示

正好 4 位数字:在 \\d 类上使用 {4} 表示法。

3 次尝试后可用的解决方案

复习练习

锻炼#regex.m2.l2.e2
尝试:0加载中...

找出所有由 2、3 或 4 位数字组成的数字(不包括 1 位数字和 5 位以上数字长的数字)。

正在加载编辑器...
显示提示

范围{2,4}:最少 2 位,最多 4 位。如果没有锚点,它也会匹配 12345 的前 4 位数字。

3 次尝试后可用的解决方案

额外的挑战

锻炼#regex.m2.l2.e3
尝试:0加载中...

查找格式为“XXX-XXXX”(正好 3 位数字、破折号、正好 4 位数字)的电话号码。

正在加载编辑器...
显示提示

使用应用于 \\d 类的大括号 {3} 和 {4}。

3 次尝试后可用的解决方案