正则表达式之零宽断言,负向零宽断言

零宽断言

1、(?=exp)零宽度正预测先行断言

零宽度正预测先行断言,它断言自身出现的位置的后面能匹配表达式exp。

以js为例,运行个例子,代码如下:

 

结果:

可以看到以ing结尾的单词都匹配出来了。

2、(?<=exp)零宽度正回顾后发断言

零宽度正回顾后发断言自身出现的位置的前面能匹配表达式exp。

以下是代码:

  

结果:

负向零宽断言

1、(?!exp)零宽度负预测先行断言

断言此位置的后面不能匹配表达式exp。

\d{3}(?!\d)匹配三位数字,而且这三位数字的后面不能是数字;\b((?!abc)\w)+\b匹配不包含连续字符串abc的单词。

代码如下:

  

结果:

 可以看到123后面跟的是abs,所以符合,而234后面什么也没跟也符合要求。

2、(?

零宽度正回顾后发断言来断言此位置的前面不能匹配表达式exp:(?

代码:

  

结果:

从结果中就能看出,前面不是小写字母的7位数字被匹配出来了。

你可能感兴趣的:(正则表达式,正则表达式)