条件分支中潜在的贪婪模式

正则当中的条件分支,就是满足任意一个条件都会匹配,但是如果各条件之间存在包含关系呢,这时候该怎么匹配?

从上面可以看到,我的正则匹配的是"aa"、"bb"、"(aa bb)"中的任何一个,但是(aa bb)中又包含了aa,那么问题来了,当真的碰到字符串(aa bb)时,是分支aa起作用了,还是(aa bb)起作用了呢?

答案是:(aa bb)

我刻意将分支aa放在正则表达式的首位,而且我提供的字符串开头便有一个(aa bb)出现,如果真的是按分支顺序去匹配的,那么第一个输出的应该是aa,而结果却是(aa bb),我把这几个分支位置调整过多次,结果每次首先打出的都是(aa bb),所以我的想法是,这个分支条件是不是也存在“贪婪”模式,它会去尽力匹配满足这几个分支的最长字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值