详解正则中先行断言的用法
/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 ...
最新文章
- Transformer的潜在竞争对手QRNN论文解读,训练更快的RNN
- 李书福:对未来世界及汽车发展的六个洞见(附万字内部讲话全文)
- 一些知识点的初步理解_4(协方差矩阵,ing...)
- 解决vnc灰屏,黑屏,鼠标大黑叉情况
- 汇编语言 pushf 和 popf指令
- 2000以内最好的无人机_全球军用无人机排行榜之国产翔龙无人机
- (二)spring MVC配置
- 分享四款非常好用的命令行软件,值得收藏!
- css 汉字注音,日本语片假名
- 利用Hook技术实现键盘监控
- js parseInt()和Number()区别
- neo4jcypher基本语句
- 前端如何展示商品属性:SKU多维属性状态判断算法的应用-Vue 实现
- 【技术博客】 利用Postman和Jmeter进行接口性能测试
- VS2022找不到Microsoft.Expression.Interactions.dll
- 计算机网络管理员下午试题答案,(完整版)计算机网络管理员考试试题库和答案(13页)-原创力文档...
- 大学生微信小程序项目总结
- 做网站需要哪些费用?(维护方面)
- 【​观察】英特尔傲腾DC P4800X有哪些适用场景?
- 你的身份证,到底绑定了多少微信账号?
热门文章
- java万年历课程设计代码,JAVA《万年历系统》课程设计
- 刘强东七千字内部信“京东是谁”:比错过机会更可怕的是机会主义
- ​​​​​​​迅为iTOP-2K1000龙芯开发板Loongnix 系统烧写
- 英语数学不好能学Java吗?
- 如何整合内心的冲突和混乱,构建、形成自己的思维体系?
- java 地铁线路_地铁线路管理系统
- 绍中考能不能用计算机了,广州今年中考六科试卷采用计算机辅助评卷
- LoadLibrary 参数问题
- div设置float后下一个div要换行的解决办法
- WLW(windows live writer) 语法高亮插件