String s = "No more black, red paint due to";
这里我想通过替换,使s只保存black和red,其他的都删除掉。是否有这样一个表达式,替换掉非black red的字符。

解决方案 »

  1.   

        String regex = ".*?(red|black)(.(?!black|red))*";
        System.out.println("No more black, red paint due to".replaceAll(regex, "$1"));
        System.out.println("black red red black".replaceAll(regex, "$1"));
        System.out.println("red red black black red".replaceAll(regex, "$1"));
        System.out.println("aaa red red black black red".replaceAll(regex, "$1"));
        System.out.println("aaa red red black black red aaaa".replaceAll(regex, "$1"));
        System.out.println("red red black black red aaaa".replaceAll(regex, "$1"));
      

  2.   

    http://topic.csdn.net/u/20080306/17/F37A1818-3968-49B4-8F79-E5564486D63E.html