课程 6:匹配重复字符
注意:有的正则表达式实现不支持下文重复语法的某些部分。
到目前为止,我们已经学习了如何指定要匹配的字符的范围,但是如何指定要匹配的字符的重复次数呢?一种方法是明确写出我们想要匹配多少个字符,例如 \d\d\d
,它正好匹配三个数字。
更方便的方法是使用花括号表示法指定每个字符的重复次数。例如,a{3}
将匹配字符 a 正好三次。某些正则表达式引擎甚至允许您指定重复次数的范围,例如,a{1,3}
将匹配字符 a 至多 3 次,至少 1 次。
这个量词 (quantifier) 可以与任意字符或特殊的元字符一起使用,例如 w{3}
(三个 w)、[wxy]{5}
(五个字符,每个字符可以是 w、x 或 y) 和 .{2,6}
(两到六个任意字符)。
::: tip 译者注
花括号中的最大重复次数也可以省略:{n,}
表示重复至少 n 次,至多无限制。
:::
在下面的几行中,最后一个只有一个 z 的字符串并不是俚语 “wazzup” 的正确拼写。尝试使用上面的花括号符号来编写一个只匹配前两个拼写的模式。
进阶课程:A4:贪婪 vs 懒惰