• :在线测试工具暂时不可用,小伙伴们可以使用本地编辑器来代替,绿叶全新版本正在快马加鞭开发中,比心~

1.8 限定符

一、什么叫限定符?

限定符,就是限定某个或某类字符出现的次数。例如,邮政编码都是6位数,因此对于表单中的邮政编码,我们在正则表达式中要限定其为6位数字。匹配邮政编码的正则表达式是“\d{6}”,其中“{6}”就是限定符。

常用的正则表达式限定符如下:

正则表达式限定符
限定符 说明
+ 重复1次或更多次
* 重复0次或更多次(任意次数)
? 重复0次或1次(最多1次)
{n} 重复n次
{n,} 重复n次或更多次(最少n次)
{n,m} 重复n到m次

接下来,我们详细为大家讲解这些正则表达式限定符。

二、常用的限定符

1、+

在正则表达式中,使用+限定前导字符重复1次或更多次。

举例:

 
go+

分析:

由于使用了+限定符,因此字母o必须出现1次或者更多次。所以匹配上面正则表达式的字符串有go、good、god等,但是get、g就不匹配了。

 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        var str="good";
        //定义正则表达式
        var myregex = /go+/;
        //判断字符串str是否匹配正则表达式myregex
        if(myregex.test(str))
        {
            alert("匹配");
        }
        else
        {
            alert("不匹配");
        }
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:

正则表达式限定符

大家在正则表达式测试工具中验证的可能会发现,对于good这个字符串:咦?高亮的部分怎么是goo,而不是good呢?上面JavaScript使用test()方法测试中不是说“good”匹配正则表达式go+吗?

是这样的,在正则表达式测试工具中,只是把good这个字符串符合go+的部分高亮出来。也就是说,只要字符串有一部分或者全部匹配正则表达式的话(字符串在正则表达式测试工具能高亮),使用JavaScript的test()方法时返回值都是true,也就是说这个字符串匹配该正则表达式。


2、*

在正则表达式中,使用*限定前导字符重复0次或更多次。

举例:

 
go*

分析:

由于使用了*限定符,因此字母o必须出现0次或者更多次。所以匹配上面正则表达式的字符串有g、go、good、god等,但是get等就不匹配了。注意一下,在这里字符串g是匹配的,*限定符跟+限定符不一样,因为+限定符限定前导字符必须出现1次以上。

对于这些正则表达式的学习,请使用正则表达式测试工具进行验证,那是最明显直观的了。

3、?

在正则表达式中,使用?限定前导字符重复0次或1次(最多1次)。

举例:

 
go?

分析:

由于使用了?限定符,因此字母o必须出现0次或者1次。所以匹配上面正则表达式的字符串只有g、go这2种,其他的诸如god、good、get等就不匹配了。

我们都知道“颜色”的英文是color或者colour,这个时候我们可以使用?限定符。

 
colou?r

表达式u?表示字母“u”可以出现1次或者不出现。

请读者使用自行正则表达式测试工具判断哪些字符串匹配。

4、{n}

在正则表达式中,使用{n}限定前导字符重复n次。

举例:

 
go{3}

分析:

由于使用了?限定符,因此字母o必须出现3次。所以匹配上面正则表达式的字符串只有gooo这1种,其他的诸如god、good、get等就不匹配了。

5、{n,}

在正则表达式中,使用{n,}限定前导字符重复n次或更多次。

举例:

 
go{3,}

分析:

由于使用了?限定符,因此字母o必须出现3次或更多次。所以匹配上面正则表达式的字符串只有gooo,goooo,gooooo……。

6、{n,m}

在正则表达式中,使用{n,m}限定前导字符重复n到m次(也就是n~m之间任意一个次数)。

举例:

 
go{1,3}

分析:

由于使用了?限定符,因此字母o必须出现1~3次。所以匹配上面正则表达式的字符串只有go、goo、gooo这3种。

总结

1、常用的正则表达式限定符如下:

正则表达式限定符
限定符 说明
+ 重复1次或更多次
* 重复0次或更多次(任意次数)
? 重复0次或1次(最多1次)
{n} 重复n次
{n,} 重复n次或更多次(最少n次)
{n,m} 重复n到m次

这些限定符都是限定“前导字符”重复的次数。这些限定符很容易记忆,没记住也没关系。到时候大家回来查查就OK了。

:本站所有教程均为原创,大部分已经与人民邮电出版社合作出版,禁止转载和抄袭,否则绿叶学习网和人民邮电出版社必将追究法律责任,附录:互联网著作权保护法。【法律顾问:张俊律师】

小伙伴们也可以加一下QQ群,在“群文件”中可以获取学习资源以及配套资源,以及跟其他小伙伴交流,站长也在群内。

(1)QQ群:519225291(暗号:lvye

(2)绿叶学习网常见问题解答

回到顶部