//提取字符串中[]内包裹的字符串变量名
public Set<String> getKeywords(String p){
String reg = "(?<=(?<!\\\\)\\[)(.*?)(?=(?<!\\\\)\\])";
Matcher matcher = Pattern.compile(reg).matcher(p);
Set<String> list = new HashSet<String>();
while (matcher.find()) {
list.add(matcher.group());
}
return list;
}
public static void main(String[] args) {
TestMatcher p = new TestMatcher();
System.out.println(p.getKeywords("([a.f_s]+[b]*10)*10-([d.e.1.p_i]-[i_j.0.l_f])/[a.f_s]+[b]*10)*10"));
}