3.5.10 限定符
除了前面介绍的分组模式外,还可以指定想要的精确重复次数。可以使用大括号({})
指出限定符。表3-5 所示列出了可供使用的所有限定符。
表 3-5 限定符语法
限 定 符 最 小 值 最 大 值 范 围
{m} m m 精确的m 次
{m,x} m x 至少m 次,最多x 次
{m,} m 无限大至少 m 次
* 0 无限大 0次或者多次
? 0 1 0 次或者1 次
+ 1 无限大 1次或者多次
{}限定符用于匹配更精确个数的字符。借助一个使用了{}限定符的简单正则表达式,可
以很轻松地匹配一个带有或者不带有区号的电话号码:
/^(\d{3}[\.\-]\d{4}|\d{3}[\.\-]\d{3}[\.\-]\d{4})$/
下面对以上正则表达式简要说明。
^:表示串或者行的开始。
\d{3}:3 个连续的数字。
[\.\-]:一个单独的点或者一个单独的短横线。
\d{4}:4 个连续的数字。
|:管道元字符,表示忽略前面的一切,然后重新匹配。
\d{3}:3 个连续的数字。
[\.\-]:一个单独的点或者一个单独的短横线。
\d{4}:另外的4 个连续数字。
第3 章 字符串和正则表达式 133
$:串或者行的结束。
下面的一些号码都是与以上正则表达式匹配的:123.456.7890,123-456-7890。