详解正则中先行断言的用法
/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
详解正则中先行断言的用法相关推荐
- python中index函数_详解python中的index函数用法
1.函数的创建 def fun(): #定义 print('hellow') #函数的执行代码 retrun 1 #返回值 fun() #执行函数 2.函数的参数 普通参数 :要按照顺序输入参数 de ...
- python3 yield 大文件_详解Python3中yield生成器的用法
任何使用yield的函数都称之为生成器,如: def count(n): while n > 0: yield n #生成值:n n -= 1 另外一种说法:生成器就是一个返回迭代器的函数,与普 ...
- 详解 javascript中offsetleft属性的用法(转)
详解 javascript中offsetleft属性的用法 转载 2015-11-11 投稿:mrr 我要评论 本章节通过代码实例介绍一下offsetleft属性的用法,需要的朋友可以做一 ...
- 详解Vue中watch的高级用法
转载自 详解Vue中watch的高级用法 我们通过实例代码给大家分享了Vue中watch的高级用法,对此知识点有需要的朋友可以跟着学习下. 假设有如下代码: 1 2 3 4 5 6 7 8 9 10 ...
- python中heapq的库是什么_详解Python中heapq模块的用法
详解Python中heapq模块的用法 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: 详解Python中heapq模块的用法.txt ] (友情提示:右键点上行t ...
- python中get函数是什么意思_详解python中get函数的用法(附代码)_后端开发
strncmp函数用法详解_后端开发 strncmp函数为字符串比较函数,其函数语法为"int strncmp ( const char * str1, const char * str2, ...
- 详解Python3中yield生成器的用法
这篇文章主要介绍了详解Python3中yield生成器的用法,是Python入门学习中的基础知识,需要的朋友可以参考下 任何使用yield的函数都称之为生成器,如: def count(n):whil ...
- python中break怎么用_详解Python中break语句的用法
详解Python中break语句的用法 在Python中的break语句终止当前循环,继续执行下一个语句,就像C语言中的break一样. break最常见的用途是当一些外部条件被触发,需要从一个循环中 ...
- java中iterator用法_java_详解Java中Iterator迭代器的用法,迭代器(Iterator)迭代 - phpStudy...
详解Java中Iterator迭代器的用法 迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为&quo ...
最新文章
- BOM 浏览器对象模型和DOM 文档对象模型
- 用python编制一个的类_常见面试题整理--Python概念篇
- 转: Executor类
- 在text html模版中写js,Rails3使用text/html内容类型而不是text/javascript呈现js.erb模板...
- 前端学习(3345):设计模式之工厂模式2
- 购买MP3必备资料 各大芯片方案齐齐数
- springmvc与Servlet3.0不依赖common包实现文件上传
- SLAM Cartographer(13)基于Ceres库的扫描匹配器
- Educational Codeforces Round 54 (Rated for Div. 2): D. Edge Deletion(最短路树)
- Cockos REAPER 6 for Mac - 热门数字音频制作软件
- 大话RAC介质恢复---联机日志损坏
- spring-boot设置静态文件路径
- 尔雅 科学通史(吴国盛) 个人笔记及课后习题 2018 第四章 中国独立发展的科技文明
- 关于光的波粒二象性的解释--答复年少时的疑惑
- ph用计算机换算成离子浓度,PH与氢离子的浓度换算表.doc
- ϵ-greedy Policies
- iOS多线程的初步研究(三)-- NSRunLoop
- 分享一些网页设计的素材
- led灯什么牌子的质量好又耐用?2022性价比高的led护眼灯品牌推荐
- 基于JSP + Servlet + Mysql 的校园二手交易平台(源码 + 文档)
热门文章
- PR2 Simulator 安装过程中遇到的一些问题。
- 《墨菲定律》——职场行为学准则
- 那些年Android面试官常问的知识点,分享一点面试小经验
- 毕竟西湖六月中,风光不与四时同。接天莲叶无穷碧,映日荷花别样红。
- xbox服务器中断,Xbox Live服务出现重大中断 目前问题已基本解决
- 从谷歌卫星地图看咸海的渐渐“死亡”
- 全志和瑞芯微比较_哪家强_瑞芯微全志:渐渐失声的昔日贵族
- [SPOJ16549 QTREE6 - Query on a tree VI]
- 新概念英语第二册课文电子版_新概念英语全四册app下载-新概念英语全四册 v6.1.1103 手机版...
- defy 超频/降频CPU设置