Я хотел бы заменить совпадение номером/индексом соответствия.
Есть ли способ в java regex flavor знать, какой номер совпадения соответствует текущему совпадению, поэтому я могу использовать String.replaceAll(regex, replacement)
?
Пример: Замените [A-Z]
на себя и свой индекс:
Input: fooXbarYfooZ
Output: fooX1barY2fooZ3
т.е. этот вызов:
"fooXbarXfooX".replaceAll("[A-Z]", "$0<some reference to the match count>");
должен возвращать "fooX1barY2fooZ3"
Примечание. Я ищу заменяющую строку, которая может это сделать, если таковая существует.
Пожалуйста, не предоставляйте ответы, содержащие циклы или аналогичный код.
Отредактировано:
Я приму самый элегантный ответ, который работает (даже если он использует цикл). Нет текущих ответов
на самом деле работают.