如果是简单的=if(a,b,c),用简单的分组很容易就能提取出a、b和c,但是在复杂的嵌套如=IF(G2<70,"0",IF(G2>G3,IF(G2>90,14*G1,(((G2-G3)*13-1)*G1)), IF(G2<G3,(10-(G3-G2)*2)*G1,11*G1))) 要提取出 G2<70、"0"、和IF(G2>G3,IF(G2>90,14*G1,(((G2-G3)*13-1)*G1)), IF(G2<G3,(10-(G3-G2)*2)*G1,11*G1))就不行了,因为有很多的逗号和其他符号干扰,所以研究了一个正则表达式解决了这个问题,可以是任意复杂的IF表达式,如果需要进一步的匹配子判断式,则可以用自己擅长的语言做递归,都是用这个正则表达式