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

首先要说的是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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值