我有一段代码尝试在循环内重复匹配具有递增索引的模式:
for(int count = 0; count < args.length; count++) {
message.replaceFirst("^\\{" + count + "\\d}$", args[count]);
}
我想要做的是将消息字符串中出现的 {0}、{1} 等替换为 args 中的内容。但尽我所能,我就是无法让模式匹配。我不是正则表达式专家,但我根据此处的其他问题尝试了各种正则表达式组合。我也尝试过使用StringUtils中的replace方法,但没有成功。有人可以提供任何建议吗?
最佳答案
根本不要使用正则表达式。您事先知道您的搜索字符串并且它是常量(即您可以从常量字符串加上变量 count
构建它),因此不需要合并正则表达式。
关于java - 正则表达式 - 捕获大括号之间的增量数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7972866/