Если у меня есть регулярное выражение с группой захвата, например, foo(_+f)
. Если я сопоставляю это с строкой и хочу заменить первую группу захвата во всех совпадениях с помощью baz
, чтобы
foo___f blah foo________f
преобразуется в:
foobaz blah foobaz
Кажется, что нет простого способа сделать это, используя стандартные библиотеки. Если я использую Matcher.replaceAll(), это заменит все совпадения всего шаблона и преобразует строку в
baz blah baz
Очевидно, что я могу просто перебирать совпадения, хранить начальный и конечный индексы каждой группы захвата, а затем возвращаться и заменять их, но есть ли более простой способ?
Спасибо, Дон