У меня проблема с символами% и / в регулярном выражении Java. Следующий пример проиллюстрирует мою проблему:
Pattern pattern = Pattern.compile("^[a-z]*[/%]$");
Matcher m = pattern.matcher("a%/");
System.out.println(m.find());
Он печатает «ложь», когда я ожидаю, что это «правда». Знак% и / не должен быть экранирован, но даже если я это сделаю, он все равно не будет работать.
Так что мой вопрос просто почему?