正则表达式---零宽断言(五--正向零宽断言)

本文介绍了正则表达式中的正向零宽断言,包括(?=exp)和(?<=exp)两种形式,并通过实例演示了它们的工作原理和使用场景。正向预测先行断言(?=exp)匹配后面是exp的位置,正向回顾后发断言(?<=exp)匹配前面是exp的位置。文章解释了为何在某些情况下使用零宽断言能提供更精确的匹配条件。
摘要由CSDN通过智能技术生成

正向零宽断言:

1:(?=exp)     正向预测先行断言。匹配后面是exp的位置

2:(?<=exp)   正向回顾后发断言。匹配前面是exp的位置

实例演示1:

exp:<div>antzone;   正则:^(?=<)<[^>]+>\w+

图示:

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

结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值