Пожалуйста, посмотрите на следующий код:
public static void main(String[] args) {
String s = "a < b > c > d";
String regex = "(\\w\\s*[<>]\\s*\\w)";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(s);
int i = 0;
while (m.find()) System.out.println(m.group(i++));
}
Вывод вышеуказанной программы: a < b, c > d
Но я на самом деле ожидаю a < b, b > c, c > d
.
Что-то не так с моим регулярным выражением здесь?