G0400_0910_C8/[G0100_0910_F124]-G0400_0910_C12/[G0100_0910_F123])*N
要取出这个字符串里的G0400,G0100,G0400,G0100字符串
用java.util.Pattern实现

解决方案 »

  1.   


    String str = "G0400_0910_C8/[G0100_0910_F124]-G0400_0910_C12/[G0100_0910_F123])*N";
    Matcher matcher = Pattern.compile("^.*?(?=_)|(?<=\\[).*?(?=_)").matcher(str);
    while(matcher.find()){
    System.out.println(matcher.group());
    }
      

  2.   

    你好解决我一大半问题了.
    在以 1-((G2100 和 ABS(G1101 和 (G2100 开头的时候,正则表达式该怎么改
      

  3.   


    String str = "1-((G2100_0910_C8/[G0100_0910_F124]-G0400_0910_C12/[G0100_0910_F123])*N";
    Matcher matcher = Pattern.compile("(?<=\\(\\().*?(?=_)|(?<=\\()[^(]*?(?=_)|(?<=\\[).*?(?=_)|^[^(]+?(?=_)").matcher(str);
    while(matcher.find()){
        System.out.println(matcher.group());
    }