正则表达式中的if then else
·
两种形式的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
本文转自cnn23711151CTO博客,原文链接:http://blog.51cto.com/cnn237111/760510,如需转载请自行联系原作者
更多推荐

![clipboard[1] clipboard[1]](https://i-blog.csdnimg.cn/blog_migrate/7ac8cbe7070bddce90eaf77554e3b8c2.png)
![clipboard[2] clipboard[2]](https://i-blog.csdnimg.cn/blog_migrate/81ef2e2c8cfd16bade4c39f4cd671294.png)
所有评论(0)