其他分享
首页 > 其他分享> > 明明白白正则表达式之零宽断言

明明白白正则表达式之零宽断言

作者:互联网

之前没有理解透彻,借助^$理解一下,最近又自己测试了一下,终于是明白这个东西了
这篇文章看懂需要一部分正则的基础,我推荐这篇文章正则表达式30分钟入门教程


零宽断言

(?=exp)这个和(?<=exp)都可以看成一个输入文字时的一个光标,就像^$一样匹配的是一个位置,(?=exp)表示这个光标后面的内容是exp。同理,(?<=exp)表示这个光标前面的内容是exp。把其中的<看成一个箭头就很容易理解了。

比如这段文字中

正则表达式中的零宽断言不容易理解。负向零宽断言也是一样。

使用(?=断).匹配的结果就是


使用(?<=断).匹配的结果就是


理解上面这段话后,不难发现(?=断).等同于.(?<=断)也等同于
看成一个光标就十分帮助理解这个东西

负向零宽断言

同样负向零宽断言也可以这样理解

测试文本

一二三

(?!二). 表示光标后面不是的字符,匹配结果:


(?<!二).表示光标前面不是的字符匹配结果


测试环境

标签:匹配,断言,正则表达式,明明白白,负向,理解,exp,之零宽,光标
来源: https://www.cnblogs.com/pong137/p/14720209.html