js正则表达test,exec和match的区别
展开全部
js正则表达式中test用于验证某个输入的字符串,是否符合相关的要求,
比如下面的js程序验证由数字组成的字符串是否符合ABBABB的规律.
<script type=text/javascript>
var str="344344";
var regex=/^(\d)(\d)\2\1\2\2$/;
var result=regex.test(str);
alert(result);
</script>
运行结果
true
js正则表达式中exec用于当正则表达式中有捕获组时,捕获其中匹配的字符串.
比如下面的js程序,取from后面的第一个单词
<script type=text/javascript>
var str='from dog like from book cat.....';
var regex=/from\s+\b(.+?)\b/g;
var result;
while((result=regex.exec(str))!=null){
alert(result[1]);
}
</script>
运行结果
dog
book
js正则表达式中match用于匹配原字符串中的多个匹配项
比如下面的js程序,匹配类似a=1|b=0|c=0|的字符串
<script type=text/javascript>
var str='a=1|b=0|c=0|asfoiqa=1|b=0|c=0asofa=1|b=0|safioqwa=1|b=0asfiiqa=1|asifoqwfja=1';
var regex=/([A-Za-z]=[0-9]\|)+\|?/g;
var result=str.match(regex);
for(var i=0;i<result.length;i++)
alert(result[i]);
</script>
运行结果
a=1|b=0|c=0|
a=1|b=0|c=0
a=1|b=0|
a=1|b=0
a=1|
a=1
另外,test和exec是RegExp对象的函数,match是String对象的函数.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询