在Java的String.replaceAll
方法中,如何引用命名捕获组?
举个简单的例子,假设我有一个正则表达式
\{(?<id>\d\d\d\d):(?<render>.*?)\}
这是一篇关于IT技术的翻译。需要处理的内容是字符串中的标签。一个字符串中可能有多个标签,我想用“render”捕获组的内容替换所有标签。
如果我的字符串如下:
String test = "{0000:Billy} bites {0001:Jake}";
如果我想得到像"Billy bites Jake"
这样的结果,我知道可以通过以下方式实现:
test.replaceAll(tagRegex, "$2")
但我希望能够使用类似于以下的东西:
test.replaceAll(tagRegex, "$render")`
有没有一种方法可以做到这一点?使用"$render",我得到了"IllegalArgumentException: Illegal group reference"的错误。