两种形式的if then else
形如(?(?=regex)then|else) ,如果前向断言匹配成功则必须匹配then部分,否则匹配else部分。四种断言形式都可以使用。
(?(?=regex)then|else) 正向先行断言的形式。
该表达式比较白话的说,就是如果一个字符后面是regex,那么匹配后面是then的,否则匹配后面是else的,这就导致这种形式意义不大,该位置后面为regex的时候,then如果=regex才匹配,否则匹配else。
(?(?!regex) then|else)负向先行断言的形式
这个该表达式和上面类似,意义不大。
(?(?lt;=regex)then|else) 正向后行断言的形式
该表达式,如果前面是regex的话,匹配后面的then,否则匹配else
匹配re后面的g,但是不匹配re后面的t,但是匹配不是re后面的t
(?(?<!regex) then|else)负向后行断言的形式
形如(?(1)then|else)的if then else
如果获得第一个分组成功,则(1)then,否则(1)else