Using the Captured Text of a Group within a Replacement Pattern
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] argv) throws Exception { String patternStr = "\\((\\w+)\\)"; String replaceStr = "<$1>"; Pattern pattern = Pattern.compile(patternStr); CharSequence inputStr = "a (b c) d (ef) g"; Matcher matcher = pattern.matcher(inputStr); String output = matcher.replaceAll(replaceStr); } }