Для этого вам не нужно регулярное выражение, и, вероятно, не следует его использовать, поскольку использование пользовательского ввода в качестве регулярного выражения имеет некоторые потенциальные угрозы безопасности.
public String replaceTag(String tag, String replacement, String template) {
private final String decoratedTag = "{online@" + tag + "}";
return template.replace(decoratedTag, replacement);
}
Вы можете вызывать это повторно:
private String template = getTemplateFromUser();
private String output = template.replace('US-server', usServerCount);
output = output.replace('asdtest', testValue);
return output;
... или вы можете быть более изощренным и l oop через набор пар тегов / значений, например из Map<String, String>
Обратите внимание, что String.replace()
просто заменяет последовательности символов тупо, это не замена регулярного выражения, что для этой проблемы хорошо.