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

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

条件分支中潜在的贪婪模式_第1张图片

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

答案是:(aa bb)

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

你可能感兴趣的:(正则,正则,条件分支,贪婪模式)