点上面关注免费学习前端知识!


RegExp对象定义了两个用于执行模式匹配操作的方法。它们的行为和String方法很类似。RegExp最主要的执行模式匹配的方法是exec(),它与String中match()方法相似,只是RegExp方法的参数是一个字符串,而String方法的参数是一个RegExp对象。exec()方法对一个指定的字符串执行一个正则表达式,简言之,就是在一个 字符串中执行匹配检索。如果它没有找到任何匹配,它就返回null,但如果它找到了一个匹配,它将返回一个数组,就像match()方法为非全局检索返回的数组一样。这个数组的第一 个元素包含的是与正则表达式相匹配的字符串,余下的元素是与圆括号内的子表达式相匹配的子字符串。属性index包含了发生匹配的字符位置,属性input引用的是正在检索的字符串。

回忆一下,当match()的参数是一个全局正则表达式时,它返回由匹配结果组成的数组。相比之下,exec()总是返回一个匹配结果,并提供关于本次匹配的完整信息。当调用 exec()的正则表达式对象具有修饰符g时,它将把当前正则表达式对象的lastIndex属性设置 为紧挨着匹配子串的字符位置。当同一个正则表达式第二次调用exec()时,它将从 lastIndex属性所指示的字符处开始检索。如果exec()没有发现任何匹配结果,它会将 lastIndex重置为0(在任何时候都可以将lastIndex属性设置为0,每当在字符串中找最后一 个匹配项后,在使用这个RegExp对象开始新的字符串查找之前,都应当将lastIndex设置为 0)。这种特殊的行为使我们可以在用正则表达式匹配字符串的过程中反复调用exec()

match和exec的对比相关推荐

  1. js正则函数match、exec、test、search、replace、split使用集合

    match 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回. stringObj.match(rgExp) 参数 stringObj 必选项.对其进行查找的 String 对 ...

  2. match和exec

    1.基本用法 match:str.match(reg) exec:reg.exec(str) 2.比较 匹配不到返回null reg不是全局搜索,两者的返回结果是一样的数组.    ['匹配到的结果' ...

  3. ES中match和term差别对比

    match在匹配时会对所查找的关键词进行分词,然后按分词匹配查找,而term会直接对关键词进行查找.一般模糊查找的时候,多用match,而精确查找时可以使用term. 举个例子说明一下: { &quo ...

  4. javascript中match方法和exec()方法详解与深度区别(非原创)

    match和exec的比较 1.match match方法属于String正则表达方法.  语法: str.match(regexp或者string) str:要进行匹配的字符串. regexp:一个 ...

  5. 深入javascript中的exec与match方法

    视频课堂https://edu.csdn.net/course/play/7621 经典面试题,如果知晓一下题目的答案,那就没有必要往下看了. var someText="web2.0 .n ...

  6. js exec方法详解

    今天查看jquery源码的时候突然被exec方法给弄懵了,特意翻了翻资料详细了解了下. 1.定义 exec() 方法用于检索字符串中的正则表达式的匹配. 使用方法:var match = RegExp ...

  7. javascript 正则方法 exec()

    exec()是RegExp对象的主要方法.exec()接受一个参数,即要应用模式的字符串,然后返回包含第一个匹配项信息的数组,或者在没有匹配项的情况下返回null. let reg = /apple ...

  8. 转:初探 jQuery 的 Sizzle 选择器

    这是一篇关于介绍jQuery Sizzle选择器的文章,由我和obility共同完成.在文中,我们试图用自己的语言配以适量的代码向读者展现出Sizzle在处理选择符时的流程原理,以及末了以少许文字给你 ...

  9. jQuery选择器引擎和Sizzle介绍

    jQuery选择器引擎和Sizzle介绍 首先介绍一下什么是Sizzle: Sizzle是一个纯javascript CSS选择器引擎.jquery1.3开始使用sizzle,Sizzle一反传统采取 ...

最新文章

  1. 使用SAP WebIDE进行SAP Cloud Platform Business Application开发
  2. 设置图片圆角 或者圆形
  3. wdcp mysql密码_WDCP提示无法连接mysql及创建站点提示mysql密码不正确
  4. Android之判断手机黑屏以及锁屏
  5. 详细js读取execl内容并展示
  6. 【小夕精选】如何优雅而时髦的解决不均衡分类问题
  7. android webview 劫持,安卓包风险安全监测提示存在Activity劫持、WebView远程代码执行,请问怎么解决?...
  8. SDUT 2766 小明传奇2
  9. 报告称海归国内就业遇阻力 去年近三成海归实际年薪不足10万
  10. slxrom+v.21+原生android+4.2,小米4移动联通版 魔趣OS 安卓10 MagiskV21版 完美ROOT 纯净完美 原生极简 纯净推荐...
  11. linux下epoll网络编程模型,C++ - 网络编程模型 - Linux EPOLL
  12. UNet语义分割模型的使用-Pytorch
  13. PPP概念股有哪些?PPP概念股大全
  14. 定位input的光标,设置光标的位置
  15. AIX报错(errpt)处理小记
  16. Git安装教程(超详细教程)
  17. 李政軒Cheng-Hsuan Li的关于机器学习一些算法的中文视频教程
  18. R语言使用mgcv包中的gam函数拟合广义加性模型(Generalized Additive Model,GAMs):从广义加性模型GAM中抽取学习到的样条函数(spline function)
  19. csharp:百度翻译
  20. 基于FPGA的SD卡的数据读写实现(SD NAND FLASH)

热门文章

  1. 九大操作系统掌门人齐聚岳麓,六代技术人跨代对话,共同见证技术大时代
  2. 作为 SaaS 初创公司产品负责人,我学到了 5 条经验教训!
  3. 从技术、服务到共创 声网 Agora 携手合作伙伴共建 RTC 生态
  4. 2020 年,开启现代库的基建学习 —— 从项目演进看前端工程化发展
  5. 中文深度学习入门书:小白易入,课程、实战项目全有 | 五位导师联合出品
  6. 微信雄踞,头条社交梦破碎?| 畅言
  7. 董明珠给格力员工加薪 10 亿;张小龙回应微信 7.0 界面变丑;库克怒怼高通 | 极客头条...
  8. 知乎:“我们不主动收集数据”;滴滴被打乘客怂了;三星太子归位 | CSDN极客头条...
  9. 【JVM 2,最经典的HashMap图文详解
  10. Redis性能基准测试