摘要:非获取匹配匹配但是不会捕获,不会获取到与有区别,但是可以被替换只匹配,不获取可以匹配,也可以被获取获取不到第二个括号内匹配的值和只有当后面紧跟着时,才匹配只有当后面不紧跟着时,才匹配相似点两者都不是匹配结果的一部分,既不会被替换掉和区别,也
1、?: 非获取匹配
(?:x)匹配x但是不会捕获,不会 $n 获取到(与()有区别),但是可以被替换
(?:x) 只匹配,不获取
() 可以匹配,也可以被获取
"JavaScript is fun".replace(/([Jj]ava)(?:[Ss]cript)/,"$2"); // "$2 is fun" 获取不到第二个括号内匹配的值 "JavaScript is fun".replace(/([Jj]ava)([Ss]cript)/,"$2"); // "Script is fun"2、?= 和 ?!
x(?=y) 只有当 x 后面紧跟着 y 时,才匹配 x
x(?!y) 只有当 x 后面不紧跟着 y 时,才匹配 x
相似点:两者都不是匹配结果的一部分,既不会被替换掉(和?:区别),也不可以被$n获取到(和?:一样)
// ?= 和 ?! 区别 "a.jpg,a.png,a.gif,a.jpg".replace(/a(?!.jpg)/g, "*"); // "a.jpg,*.png,*.gif,a.jpg" "a.jpg,a.png,a.gif,a.jpg".replace(/a(?=.jpg)/g, "*"); // "*.jpg,a.png,a.gif,*.jpg" // ?: 和 ?= 区别 "JavaScript is fun".replace(/([Jj]ava)(?:[Ss]cript)/,"$1"); // "Java is fun" "JavaScript is fun".replace(/([Jj]ava)(?=[Ss]cript)/,"$1"); // "JavaScript is fun"
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/107670.html
摘要:近几日对自己一直不太擅长的正则表达式做了一次全面的扫盲。量词在正则中,通常要表示一个表达式匹配的数量,这个时候量词就登场了。而正则默认是贪婪模式的。正则会默认对捕获组分配组数。 近几日对自己一直不太擅长的正则表达式做了一次全面的扫盲。心疼自己之余还是有一些收获吧,在这里做一个比较零散的总结,整理一些对理解正则比较有利的点。 一、? 你没有看错,就是黑人问号中的问号,这个字符在正则里面算...
用Jmeter做接口测试只需要掌握几个核心功能就可以了。 并不一定要把它所有的功能都掌握,先掌握核心功能入行,然后再根据工作需要和职业规划来学习更多的内容。这篇文章在前面接口测试框架(测试计划--->线程组--->请求--->查看结果树)的前提下,来介绍必须要掌握的几个核心功能,力求用最短的时间取得最大的成果。 在前面的文章中我提到,用Jmeter做接口测试的核心是单接口测试的参数化和关联接口测试...
摘要:前端培训初级阶段语法变量值类型运算符语句前端培训初级阶段内置对象函数前端培训初级阶段类模块继承基础内容知识我们会用到。 前端最基础的就是 HTML+CSS+Javascript。掌握了这三门技术就算入门,但也仅仅是入门,现在前端开发的定义已经远远不止这些。前端小课堂(HTML/CSS/JS),本着提升技术水平,打牢基础知识的中心思想,我们开课啦(每周四)。 该文为前端培训-初级阶段(1...
阅读 1260·2021-11-04 16:09
阅读 3305·2021-10-19 11:45
阅读 2344·2021-10-11 10:59
阅读 972·2021-09-23 11:21
阅读 2730·2021-09-22 10:54
阅读 1092·2019-08-30 15:53
阅读 2562·2019-08-30 15:53
阅读 3436·2019-08-30 12:57