package com.vci.ubcs.code.utils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import java.util.ArrayList;
|
import java.util.LinkedHashSet;
|
import java.util.List;
|
import java.util.Set;
|
import java.util.regex.Matcher;
|
import java.util.regex.Pattern;
|
|
public class PatternUtil {
|
|
//*${xxx}*
|
public static Pattern dynamic = Pattern.compile(".*\\$\\{([a-z]+)\\}.*");
|
public static Pattern dynamicLimitCount = Pattern.compile("\\$\\{([a-z]+)\\}");
|
/**
|
* 判断内容中是否包含动态参数(${key}形式的)
|
*
|
* @param content 要判断的内容
|
* @return
|
*/
|
public static boolean isContainsDynamicParameter(String content) {
|
if(StringUtils.isBlank(content)){
|
return false;
|
}
|
return dynamic.matcher(content).matches();
|
}
|
|
/**
|
* 按照动态内容的参数出现顺序,将参数放到List中
|
*
|
* @param content
|
* @return
|
*/
|
public static List<String> getKeyListByContent(String content) {
|
if(StringUtils.isBlank(content)){
|
return new ArrayList<>();
|
}
|
Set<String> paramSet = new LinkedHashSet<>();
|
Matcher m = dynamicLimitCount.matcher(content);
|
while (m.find()) {
|
paramSet.add(m.group(1));
|
}
|
return new ArrayList<>(paramSet);
|
}
|
|
|
}
|