正则表达式之?=和?!的用法

官方解释

RegExp - JavaScript | MDN

Character:x(?=y)
Meaning:Matches x only if x is followed by y.
解释:当x后面跟着y(即y的正则匹配成功)的时候,匹配成功


Character:x(?!y)
Meaning:Matches a number only if it is not followed by a decimal point.
解释:当x后面跟的不是y(即y的正则匹配成功)的时候,匹配成功

例子

// 定义
let reg1 = new RegExp('Kim(?=Yin)');
let reg2 = new RegExp('Kim(?!Yin)');
// 测试1
reg1.test('Kim'); // false
reg2.test('Kim'); // true
// 测试2
reg1.test('KimY'); // false
reg2.test('KimY'); // true
// 测试3
reg1.test('KimYin'); // true
reg2.test('KimYin'); // false

延伸

// 稍后补上
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容