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等函数也可使用正则中的零宽断言。