前面讲到“\w\w\w\s\d\d\d\d”这个表达式可以匹配”hey 2003”这个字符串。但是字符串的匹配条件变一下,如后面的数字长度不是固定的,只知道会是一连串的数字,那么,这个正则表达式又该怎么写呢?下面,我们来看一下正则表达式中的匹配次数的限定符:
符号 | 描述 |
* | 匹配前面的子表达式零次或多次 |
+ | 匹配前面的子表达式一次或多次。 |
{n} | n 是一个非负整数。匹配确定的 n 次。 |
{m,n} | m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。 |
{n,} | n 是一个非负整数。至少匹配n 次。 |
我们现在再来匹配"hey 2003"这个字符串,有了上面的知识后,正则表达式就可以写为这样:”\w{3}\s\d{4}”。
如果后面的那串数字的长度不固定,可以写作这样:"\w{3}\s\d+"。
如果后面数字的长度至少为4位,就可以这样写:"\w{3}\s\d{4,}"。
如果后面的数字可有可无,就可以这样写:”\w{3}\s\d*”。