js正则表达test,exec和match的区别

 我来答
折柳成萌
高粉答主

2017-10-02 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:4.4万
采纳率:96%
帮助的人:6303万
展开全部
test是RegExp的方法,参数是字符串,返回值是boolean类型。 match是String的方法,参数是正则表达式,返回值是数组。
紫薇参星
科技发烧友

2017-10-02 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3612万
展开全部
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对象的函数.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式