Мне нужно получить все подстроки, соответствующие регулярному выражению, я знаю, что, возможно, смогу построить для этого автомат, но я ищу более простое решение.
проблема в том, что 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
, как я хочу ...
есть идеи?
РЕДАКТИРОВАТЬ:
другой пример: для string = abaa, regex = a. * a я ожидаю получить aba, abaa, aa
ps, если этого нельзя добиться с помощью регулярных выражений, это тоже ответ, я просто хочу знать, что я не изобретаю заново колесо для чего-то, что язык уже предоставляет мне ...