您如何在 Java 的String.replaceAll
方法中引用命名的捕获组?
作为我正在尝试做的一个简化示例,假设我有正则表达式
\{(?<id>\d\d\d\d):(?<render>.*?)\}
它表示字符串中的标签。一个字符串中可以有多个标签,我想用“render”捕获组的内容替换所有标签。
如果我有一个字符串
String test = "{0000:Billy} bites {0001:Jake}";
并想得到这样的结果"Billy bites Jake"
,我知道我可以实现我的目标
test.replaceAll(tagRegex, "$2")
但我希望能够使用类似的东西
test.replaceAll(tagRegex, "$render")`
有没有办法做到这一点?使用"$render"
我得到IllegalArgumentException: Illegal group reference
.