第 6 课:抓几个 zzz

注意:下面重复语法的一些部分在所有正则表达式实现中都不支持。

到目前为止,我们已经学习了如何指定要匹配的字符范围,但如何指定要匹配的字符的重复次数呢?一种方法是明确说明我们想要多少个字符,例如\d\d\d,它将精确匹配三个数字。

一种更便捷的方法是使用花括号表示法来指定每个字符的重复次数。例如,a{3} 将精确匹配字符 a 三次。某些正则表达式引擎甚至允许您为这种重复指定一个范围,例如a{1,3} 将匹配字符 a 不超过 3 次,但至少 1 次。

此量词可以与任何字符或特殊元字符一起使用,例如w{3}(三个 w)、[wxy]{5}(五个字符,每个字符可以是 w、x 或 y)和.{2,6}(介于两个到六个任何字符之间)。

在下面的行中,最后一个只有单个 z 的字符串并非我们认为的俚语“wazzup?”的正确拼写。尝试编写一个模式,仅使用上面的花括号表示法匹配前两个拼写。

练习 6:匹配重复字符
任务 文本  
匹配 wazzzzzup To be completed
匹配 wazzzup To be completed
跳过 wazup To be completed
解答

前两行我们必须匹配几个“z”,所以表达式waz{3,5}up将匹配所有具有这么多“z”的字符串。

解决上述任务以继续下一个问题,或阅读解答