Ошибка Illegal character range near index 12

Использую данное регулярное выражение для отсеивания значений:

public static String reg(String input) {
    StringBuilder sb = new StringBuilder();
    Pattern pattern = Pattern.compile("\\b[a-zа-я-@.]{4,17}");
    Matcher matcher = pattern.matcher(input);

получаю

Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal character range near index 13

Что не так? Пробовал как UTF-8, так и cp1251 кодировки. Причем в онлайне все работает отлично(regex101)


Ответы (1 шт):

Автор решения: Andrew

Проблема была в дефисе после символа "я". Однако до сих по не понял, почему при \b\p{Ll}+ IDEA отказывается замечать русские символы.

→ Ссылка