功能
搜索${}或者#{}包裹的字符串
代码:
public static void main(String[] args) {
String str = "sfsfkkvvnn${a1}f尼斯hi放松放松#{a2}fsfsf快速反击${a3} sfsfsfsdfjs士大夫十分 #{a4}ffafsjj sfsf";
List<String> list = getParmNames(str);
System.out.println(list);
}
public static List<String> getParmNames(String sentence) {
List<String> list = new ArrayList<>();
// 如果为空不做处理
if (StringUtils.isEmpty(sentence)) {
return list;
}
String regx = "(?<=[\\$|\\#]\\{)[\\s\\S]*?(?=\\})";
Pattern pattern = Pattern.compile(regx, Pattern.CASE_INSENSITIVE);
Matcher m = pattern.matcher(sentence);
while (m.find()) {
String searchStr = m.group(0);
list.add(searchStr);
}
return list;
}
输出结果
[a1, a2, a3, a4]