RegExp实例

exec() 方法用于检索字符串中的正则表达式的匹配。

exec()接受一个参数,既要应用模式的字符串,然后返回包含第一个匹配项信息的数组;或者在没有匹配项的情况下返回null;

exec()即使在模式中设置了全局模式(g),也只返回一个匹配项
在不设置全局模式下,在同一个字符串上多次调用exec()将始终返回第一匹配信息;在设置全局模式下,每次调用exec()则会在字符串中继续查找新匹配项。

举个例子看一下(模式没有设置全局模式):
var text = "cat, bat, sat, fat,aaa";
var pattern1 = /.at/;
var matches = pattern1.exec(text);
 console.log(matches.index); //0
 console.log(matches[0]); //cat
 console.log(matches.input); //cat, bat, sat, fat,aaa
 console.log(pattern1.lastIndex);//0
 matches = pattern1.exec(text);
 console.log(matches.index);//0
 console.log(matches[0]);//cat
 console.log(matches.input);//cat, bat, sat, fat,aaa
 console.log(pattern1.lastIndex);//0
举另一个例子看一下(模式设置全局模式):
var text = "cat, bat, sat, fat,aaa";
var pattern1 = /.at/g; //设置了全局模式
var matches = pattern1.exec(text);
 console.log(matches.index); //0
 console.log(matches[0]); //cat
 console.log(matches.input); //cat, bat, sat, fat,aaa
 console.log(pattern1.lastIndex);//3
 matches = pattern1.exec(text);
 console.log(matches.index);//5
 console.log(matches[0]);//bat
 console.log(matches.input);//cat, bat, sat, fat,aaa
 console.log(pattern1.lastIndex);//8

以上例子中还用到 lastIndex 方法, 这里简单讲解一下,这个方法会返回下一个搜索匹配想的字符位置;

除了exec()方法,正则表达式还提供了test()方法;
test()接受一个字符串,在匹配成功时,返回true,失败时,返回false;所以这个方法常用在if语句中;
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  •   引用类型的值(对象)是引用类型的一个实例。   在 ECMAscript 中,引用类型是一种数据结构,用于将数...
    霜天晓阅读 1,263评论 0 1
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,752评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,131评论 19 139
  • 转自: JS正则表达式一条龙讲解,从原理和语法到JS正则、ES6正则扩展,最后再到正则实践思路 温馨提示:文章很长...
    前端渣渣阅读 1,959评论 1 32
  • 透析记7.29 今日血滤。 早上七点起床,在凉爽的晨风中做完了锻炼。然后敷了下胳膊,洗了个冷水澡,搽好喜辽妥,做完...
    小棕榈阅读 287评论 0 0

友情链接更多精彩内容