js正则表达式中的零宽断言

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_38102188/article/details/86294302

首先要说的是js正则表达式只支持零宽先行断言,而零宽先行断言又可以分为正向零宽先行断言(判断字符后面必须匹配regexp)和负向零宽先行断言(判断字符后面不能匹配regexp)

  1. 正向零宽先行断言
    例:
var str = 'abABb'
var regexp = /ab(?=[A-Z])/
str.match(regexp) 

得到的结果为:
在这里插入图片描述
2. 负向零宽先行断言

var str = 'abABb'
var regexp = /ab(?![A-Z])/
str.match(regexp) 

返回的结果是null,这是match方法没有匹配到结果时的返回值。
由此可以看到,js中的零宽断言只能实现断言位置后面能不能匹配某个regexp,不能判断断言位置的前面能不能匹配某个regexp,即不支持零宽后发断言。

参考: https://www.cnblogs.com/onepixel/articles/7717789.html

猜你喜欢

转载自blog.csdn.net/m0_38102188/article/details/86294302