IntelliJ говорит, что "\\" (совпадение с одиночной обратной косой чертой) является недопустимой / неподдерживаемой escape-последовательностью для Pattern.compile - PullRequest
0 голосов
/ 27 ноября 2018

Следующее выражение компиляции шаблона дает ошибку в IntelliJ, хотя выражение компилируется и хорошо работает в Java (1.8):

Pattern.compile("\\", Pattern.LITERAL);

Я использую следующий код, чтобы избежать всех вхождений \ в строке с двойным \\, например:

private final static Pattern BACKSLASH_PATTERN = Pattern.compile("\\", Pattern.LITERAL);
private final static String BACKSLASH_REPLACE = Matcher.quoteReplacement("\\\\");

private String escapeBackslashes(final String s) { 
    return BACKSLASH_PATTERN.matcher(s).replaceAll(BACKSLASH_REPLACE);
}

При использовании s.replace("\\", "\\\\") IntelliJ не жалуется, но мне нужно использовать предварительно скомпилированный шаблон из соображений производительности (100 с МБ)данных для обработки).

Может быть ошибкой, как в IntelliJ говорит, что \ b (backspace) - недопустимая escape-последовательность внутри строкового литерала.Почему? ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...