如何更换所有非补充字符,但保留所有补充字符?

时间:2017-12-04 15:52:46

标签: java regex regex-negation negation supplementary

我在补充字符上应用Java Regex时遇到问题

String x = new StringBuilder().appendCodePoint(0x10001).toString();
// x == "" (char['\uD800', '\uDC01']) - ok
String y = x.replaceAll("[\\x{10000}-\\x{10010}]", "*");
// y == "*" (char['*']) - ok
String z = x.replaceAll("[^\\x{10000}-\\x{10010}]", "*");
// z == "�*" (char['\uD800', '*']) - NOT ok

我期待x == z。我究竟做错了什么? jdk1.8.0_144

0 个答案:

没有答案