正则表达式默认是从左向右匹配, java中似乎没有逆向匹配的选项
所以你可以先反转字符串, 然后replace, 然后再反转
如下
String str = "HWGDSFSWH";
str = new StringBuffer(new StringBuffer(str).reverse().toString().replaceAll(
"(.)(?=.*\\1)", "")).reverse().toString();
System.out.println(str);
还有能告诉我开头的那个(?s)是什么意思吗.... 我网上查了半天也没有找到