Код
String s = "y z a a a b c c z";
Pattern p = Pattern.compile("(a )+(b )+(c *)c");
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group());
}
печатает
a a a b c c
который является правильным.
Но логически подстроки
a a a b c
a a b c c
a a b c
a b c c
a b c
также соответствует регулярному выражению.
Итак, как я могу заставить код найти эти подстроки, т.е. не только самые расширенные, но и его дочерние элементы?