/x(?=y)/  MDN解释如下

匹配'x'仅仅当'x'后面跟着'y'.这种叫做先行断言。

例如,/Jack(?=Sprat)/会匹配到'Jack'仅当它后面跟着'Sprat'。/Jack(?=Sprat|Frost)/匹配‘Jack’仅当它后面跟着'Sprat'或者是‘Frost’。但是‘Sprat’和‘Frost’都不是匹配结果的一部分。

先行断言详解

x(?=y) 先行断言就是,断言我需要匹配的内容x后面一定跟着y。所以只会匹配到xy中的x

此处误区为,有人认为会匹配到y,这是错的。先行断言只会匹配x

代码如下:


let str = "a123"
str.match(/a(?=123)/)
// 会匹配到a  => astr.match(/a(?=1234)/)
// 不会匹配到a =>null由上面的解释可知。?= 仅会匹配到  后面跟着123的a ;所以进一步 编写:let str1 = "a123ASas"
str1.match(/a(?=123)\d/)
// 会匹配到a1 => a1
解释: 匹配到了后面跟着123的a 然后匹配到了\d 1  所以输出为a1

详解正则中先行断言的用法相关推荐

  1. python中index函数_详解python中的index函数用法

    1.函数的创建 def fun(): #定义 print('hellow') #函数的执行代码 retrun 1 #返回值 fun() #执行函数 2.函数的参数 普通参数 :要按照顺序输入参数 de ...

  2. python3 yield 大文件_详解Python3中yield生成器的用法

    任何使用yield的函数都称之为生成器,如: def count(n): while n > 0: yield n #生成值:n n -= 1 另外一种说法:生成器就是一个返回迭代器的函数,与普 ...

  3. 详解 javascript中offsetleft属性的用法(转)

    详解 javascript中offsetleft属性的用法 转载  2015-11-11   投稿:mrr    我要评论 本章节通过代码实例介绍一下offsetleft属性的用法,需要的朋友可以做一 ...

  4. 详解Vue中watch的高级用法

    转载自  详解Vue中watch的高级用法 我们通过实例代码给大家分享了Vue中watch的高级用法,对此知识点有需要的朋友可以跟着学习下. 假设有如下代码: 1 2 3 4 5 6 7 8 9 10 ...

  5. python中heapq的库是什么_详解Python中heapq模块的用法

    详解Python中heapq模块的用法 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  详解Python中heapq模块的用法.txt ] (友情提示:右键点上行t ...

  6. python中get函数是什么意思_详解python中get函数的用法(附代码)_后端开发

    strncmp函数用法详解_后端开发 strncmp函数为字符串比较函数,其函数语法为"int strncmp ( const char * str1, const char * str2, ...

  7. 详解Python3中yield生成器的用法

    这篇文章主要介绍了详解Python3中yield生成器的用法,是Python入门学习中的基础知识,需要的朋友可以参考下 任何使用yield的函数都称之为生成器,如: def count(n):whil ...

  8. python中break怎么用_详解Python中break语句的用法

    详解Python中break语句的用法 在Python中的break语句终止当前循环,继续执行下一个语句,就像C语言中的break一样. break最常见的用途是当一些外部条件被触发,需要从一个循环中 ...

  9. java中iterator用法_java_详解Java中Iterator迭代器的用法,迭代器(Iterator)迭代 - phpStudy...

    详解Java中Iterator迭代器的用法 迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为&quo ...

最新文章

  1. BOM 浏览器对象模型和DOM 文档对象模型
  2. 用python编制一个的类_常见面试题整理--Python概念篇
  3. 转: Executor类
  4. 在text html模版中写js,Rails3使用text/html内容类型而不是text/javascript呈现js.erb模板...
  5. 前端学习(3345):设计模式之工厂模式2
  6. 购买MP3必备资料 各大芯片方案齐齐数
  7. springmvc与Servlet3.0不依赖common包实现文件上传
  8. SLAM Cartographer(13)基于Ceres库的扫描匹配器
  9. Educational Codeforces Round 54 (Rated for Div. 2): D. Edge Deletion(最短路树)
  10. Cockos REAPER 6 for Mac - 热门数字音频制作软件
  11. 大话RAC介质恢复---联机日志损坏
  12. spring-boot设置静态文件路径
  13. 尔雅 科学通史(吴国盛) 个人笔记及课后习题 2018 第四章 中国独立发展的科技文明
  14. 关于光的波粒二象性的解释--答复年少时的疑惑
  15. ph用计算机换算成离子浓度,PH与氢离子的浓度换算表.doc
  16. ϵ-greedy Policies
  17. iOS多线程的初步研究(三)-- NSRunLoop
  18. 分享一些网页设计的素材
  19. led灯什么牌子的质量好又耐用?2022性价比高的led护眼灯品牌推荐
  20. 基于JSP + Servlet + Mysql 的校园二手交易平台(源码 + 文档)

热门文章

  1. PR2 Simulator 安装过程中遇到的一些问题。
  2. 《墨菲定律》——职场行为学准则
  3. 那些年Android面试官常问的知识点,分享一点面试小经验
  4. 毕竟西湖六月中,风光不与四时同。接天莲叶无穷碧,映日荷花别样红。
  5. xbox服务器中断,Xbox Live服务出现重大中断 目前问题已基本解决
  6. 从谷歌卫星地图看咸海的渐渐“死亡”
  7. 全志和瑞芯微比较_哪家强_瑞芯微全志:渐渐失声的昔日贵族
  8. [SPOJ16549 QTREE6 - Query on a tree VI]
  9. 新概念英语第二册课文电子版_新概念英语全四册app下载-新概念英语全四册 v6.1.1103 手机版...
  10. defy 超频/降频CPU设置