将字符串中动态内容的参数名取出,放到List集合中
// 动态参数(由大小写字母组成)的正则表达模式
public static Pattern dynamicLimitCount = Pattern.compile("\\$\\{([a-z A-Z]+)\\}");
/**
* 按照动态内容的参数出现顺序,将参数放到List中
*
* @param content
* @return
*/
public static List<String> getKeyListByContent(String content) {
Set<String> paramSet = new LinkedHashSet<>();
Matcher m = dynamicLimitCount.matcher(content);
while (m.find()) {
paramSet.add(m.group(1));
}
return new ArrayList<>(paramSet);
}
list集合里面存的就是动态参数的名字,遍历匹配替换就方便。