Каков идиоматический способ перебора совпадений, возвращаемых регулярным выражением в java.
Обычно способ Java следующий (см. Как перебирать выражение регулярного выражения)
Pattern p = Pattern.compile("(\\w+)=(\\w+);");
Matcher m = p.matcher(line);
while (m.find()) {
map.put(m.group(1), m.group(2));
}
Помимо возможной ошибки вызова .group
перед .find
, это императивно и поэтому не компонуется. Это означает, что вам нужно создать промежуточные структуры для хранения данных с помощью побочных эффектов.
Как использовать регулярное выражение, используя возможности итераторов/коллекций vavr?