Я хотел бы динамически сгенерировать шаблон RegularExpression в Java:
String s = "\uD83E\uDD81";
int codePoint = Character.toCodePoint(s.charAt(0), s.charAt(1));
String pattern = "\\x{" + String.valueOf(Integer.toHexString(codePoint)).toUpperCase() + "}";
Matcher matcher = Pattern.compile(pattern).matcher(s);
System.out.println(matcher.matches());
Этот код компилируется и работает правильно.Однако IntelliJ IDEA выдает следующую ошибку 'illegal hexadecimal escape sequence
для "\\x{"
.
Я использую Java 8 и IntelliJ IDEA 2018.1
Это ошибка?Проблема, по-видимому, заключается в анализе, который IntellJ выполняет для переданного аргумента методу Pattern.compile
.