Ты прав;большинство разновидностей регулярных выражений, включая Java, не разрешают доступ к отдельным совпадениям повторяющейся группы захвата.(Perl 6 и .NET допускают это, для записи, но это вам не помогает).
Что еще вы можете сделать?
Pattern regex = Pattern.compile("@[^@]+@");
Matcher regexMatcher = regex.matcher(subjectString);
while (regexMatcher.find()) {
// matched text: regexMatcher.group()
// match start: regexMatcher.start()
// match end: regexMatcher.end()
}
Это захватит @property.one@
, @property.two@
и т. Д. По одному.