正向零宽断言:
1:(?=exp) 正向预测先行断言。匹配后面是exp的位置
2:(?<=exp) 正向回顾后发断言。匹配前面是exp的位置
实例演示1:
exp:<div>antzone; 正则:^(?=<)<[^>]+>\w+
图示:
解释:^表示以位置0开始匹配(注意^是零宽符号,但不具备回溯),(?=<)作为正向预测先行断言,它判断0位置后面的必须是‘<’,然后样式<div>antzone开头便是'<',那么符合规则匹配成功。因为(?=<)是零宽,那么判断匹配成功后,它开始回溯到0位置,接着判断规则里的<[^>]+>\w+。因为回到了0位置,则开始又一次判断样式‘<’是否匹配后续规则<[^>]+>\w+,结果匹配成功;然后[^>+]之前没提及,该规则就是匹配除了不是'>'符号以外的任意字符一次或者多次,所以成功匹配到div,然后具体不再详解。
结果