2023 © RegexOne
邮箱 | Twitter
注意:下面重复语法的一些部分在所有正则表达式实现中都不支持。
到目前为止,我们已经学习了如何指定要匹配的字符范围,但如何指定要匹配的字符的重复次数呢?一种方法是明确说明我们想要多少个字符,例如\d\d\d,它将精确匹配三个数字。
一种更便捷的方法是使用花括号表示法来指定每个字符的重复次数。例如,a{3} 将精确匹配字符 a 三次。某些正则表达式引擎甚至允许您为这种重复指定一个范围,例如a{1,3} 将匹配字符 a 不超过 3 次,但至少 1 次。
此量词可以与任何字符或特殊元字符一起使用,例如w{3}(三个 w)、[wxy]{5}(五个字符,每个字符可以是 w、x 或 y)和.{2,6}(介于两个到六个任何字符之间)。
在下面的行中,最后一个只有单个 z 的字符串并非我们认为的俚语“wazzup?”的正确拼写。尝试编写一个模式,仅使用上面的花括号表示法匹配前两个拼写。
任务 | 文本 | |
匹配 | wazzzzzup | |
匹配 | wazzzup | |
跳过 | wazup |
解答 | 前两行我们必须匹配几个“z”,所以表达式waz{3,5}up将匹配所有具有这么多“z”的字符串。 |