现有字符串:SUM(1,2,SUM(1,2,3))+SUM(2,3,4)我想通过正则表达式得出下面的字符串:
SUM(1,2,SUM(1,2,3))
SUM(1,2,3)
SUM(2,3,4)不知道能不能实现?

解决方案 »

  1.   

    请 cyicecream(为了升仙(星)到处UP) 指点迷津!谢谢!
      

  2.   

    jihanzhong(逍遥) ,我试了一下"SUM\\(\\w*\\)"
    什么也打不出来啊?
    谢谢你!
      

  3.   

    import java.util.*;
    Pattern p = Pattern.compile("SUM\\(\\w*\\)");
        Matcher m = p.matcher("SUM(1,2,SUM(1,2,3))+SUM(2,3,4)");
        while (m.find()) {
          System.out.println(m.group(0)+"  "+m.group(1)+"  ");
        }
      

  4.   

    \\w是指[A-Za-z0-9_]这其中的某一个,而这里有“,”和“()”所以看都不用看,肯定一个都匹配不到。
      

  5.   

    SUM\\([^\\+]*\\)
    不过只能得到
    SUM(1,2,SUM(1,2,3))
    SUM(2,3,4)可以在套嵌循环一下!