In IDEs a common operation is to perform a search and replace operation using a regex pattern in the search field and another pattern with capture groups in the replacement field.
For example, I can search for
(\d)(\D)(\d) and replace it with
first: \1; second: \2; third: \3. This would produce the following results.
- "1a2" => "first: 1; second: a; third: 2"
- "8o8" => "first: 8; second: o; third: 8"
Is there an easy way to perform this same operation on a String object in Apex? I'm looking for a solution that isn't hard-constrained to only process three capture groups. The number of capture groups is variable: could be 2, 3, 5 or any number.