Java replace all capturing groups
Posted
by Don
on Stack Overflow
See other posts from Stack Overflow
or by Don
Published on 2010-05-27T12:50:52Z
Indexed on
2010/05/27
12:51 UTC
Read the original article
Hit count: 198
Hi,
If I have a regex with a capturing group, e.g. foo(g.*f)
. If I match this against a string and want to replace the first capturing group in all matches with baz
so that
foog___f blah foog________f
is converted to:
foobaz blah foobaz
There doesn't appear to be any easy way to do this using the standard libraries, because the Matcher.replaceAll()
method will only replace all matches of the entire pattern, am I missing something?
Obviously I can just iterate through the matches, store the start and end index of each capturing group, then go back and replace them, but is there an easier way?
Thanks, Don
© Stack Overflow or respective owner