模块 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 次尝试后可用的解决方案