两种形式的if then else

形如(?(?=regex)then|else) ,如果前向断言匹配成功则必须匹配then部分,否则匹配else部分。四种断言形式都可以使用。

(?(?=regex)then|else) 正向先行断言的形式。

该表达式比较白话的说,就是如果一个字符后面是regex,那么匹配后面是then的,否则匹配后面是else的,这就导致这种形式意义不大,该位置后面为regex的时候,then如果=regex才匹配,否则匹配else。

clipboard

(?(?!regex) then|else)负向先行断言的形式

这个该表达式和上面类似,意义不大。

(?(?lt;=regex)then|else) 正向后行断言的形式

该表达式,如果前面是regex的话,匹配后面的then,否则匹配else

clipboard[1]

匹配re后面的g,但是不匹配re后面的t,但是匹配不是re后面的t

(?(?<!regex) then|else)负向后行断言的形式

形如(?(1)then|else)的if then else

如果获得第一个分组成功,则(1)then,否则(1)else

clipboard[2]


















本文转自cnn23711151CTO博客,原文链接:http://blog.51cto.com/cnn237111/760510,如需转载请自行联系原作者







Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐