1、所谓零宽,是指”一个字符位置,不占字符宽度“。故称为“零宽”。

2、所谓的先行断言,后发断言,......等等不一而足的种种称谓,只能徒增初学者理解上的困难。其实,以正则表达式中待查字符串”xxxx“(仅以四个X为代表)为参照物,只分为lookahead,lookbehind.这里用英文单词表述更清晰易懂。

3、所谓的正向即指肯定的,负向即指否定的。肯定的用=号,否定的用!号 。?< 用于lookbehind,  ?用于lookahead。

提示:将字符串看成自左向右行驶列车,其中某几节连续的车箱看成xxxx表示的字符串,车头方向为lookahead,车尾方向为lookbehind。

4、python中零宽断言写法示例,xxxx为参照物,A为零宽位置的限定条件。

示例一:r“((?<=A)xxxx(?=A))"

示例二:r“((?<!A)xxxx(?!A))"

示例三:r“((?<=A)xxxx(?!A))"

示例四:r“((?<!A)xxxx(?=A))"

5、除了re模块,pandass模块中的extractall,findall等函数也可使用正则中的零宽断言。