一个正则下来 可能 AAA会出现几次BBB会出现几次CCC


。我只要结果里每个只包含一个就好就是  AAA BBB CCC 。

解决方案 »

  1.   

    结果再distinct一下不就好了?
      

  2.   

    str = str.replaceAll("(?s)(.)(?=.*\\1)", "");
    -----------------------------------(?s)(.)(?=.*\1)
    (?s)   开启单行模式 DOTALL  让. 号匹配任意字符
    (.) 任意字符  并捕获在第一组
    (?=.*\1)  这是断言, 表示后面内容将是 任意个字符加上第一组所捕获的内容这样子,如果这整个式子匹配到,表示,第一个捕获组内容在字符串中,至少出现两次,替换为 "" 空串.进行 全局替换后, 整个字符串所出现的字符将不重复。
      

  3.   

    参考:http://topic.csdn.net/u/20110112/15/1706d033-fcb2-42de-b726-384232969096.html?seed=836581393&r=71178533#r_71178533