別のパターンに一致しない場合にのみ、パターンに一致する部分文字列を置き換えたい。たとえば、以下に示すコードでは、すべての '%s' を置き換えたいが、':%s' はそのままにしておく必要があります。
String template1 = "Hello:%s";
String template2 = "Hello%s";
String regex = "[%s&&^[:%s]]";
String str = template1.replaceAll(regex, "");
System.out.println(str);
str = template2.replaceAll(regex, "");
System.out.println(str);
出力は次のようになります。
Hello:%s
Hello
正規表現に何かが欠けています。手がかりはありますか?ありがとう!