Мне нужно получить все подстроки, соответствующие регулярному выражению, я знаю, что я могу построить для него автомат, но я ищу более простое решение. Проблема заключается в том, что Matcher.find() не возвращает все результаты.
String str = "abaca";
Matcher matcher = Pattern.compile("a.a").matcher(str);
while (matcher.find()) {
System.out.println(str.substring(matcher.start(),matcher.end()));
}
Результат aba
, а не aba,aca
, как я хочу...
Какие-нибудь идеи?
EDIT:
другой пример: для строки = abaa, regex = a. * a Я ожидаю получить aba, abaa, aa
P.S. если он не может быть достигнут с помощью регулярных выражений, это также ответ, я просто хочу знать, что я не заново изобретаю колесо для чего-то, что уже дал мне язык...