- 条件表达式:(?(if)then|else)
说明:if是分组名称或序号,如果是命名分组匹配,也就是格式为(?<name>xxx)的,则为名称name;如果是普通分组,也就是格式为(xxx)的,则为序号。
then是分组匹配时要匹配的项, else是分组不匹配时要匹配的项。
例子:表达式是'(<(?<tag>\w+)\s+[^>]*\s*>)?\w+(?(tag)</\k<tag>>)', 用来匹配超链接标签。
要匹配的字符串是'<a href='idiot.com'>alala</a>',匹配结果成功。