private static HashMap getSendDataTemp(String content) {
HashMap<String, Object> data = new HashMap<String,Object>();
Pattern pattern = Pattern.compile("\\{\\s*\\{.*\\.DATA\\s*\\}\\s*\\}");
Matcher matcher = pattern.matcher(content);
//循环,字符串中有多少个符合的,就循环多少次
while(matcher.find()){
//每一个符合正则的字符串
String e = matcher.group();
Pattern p = Pattern.compile("[^(\\{\\s*\\{\\s*)|(\\.DATA\\s*\\}\\s*\\})]+");
Matcher m = p.matcher(e);
m.find();
String key = m.group();
System.out.println(key+":h:"+key.length());
HashMap<String, String> t = new HashMap<String,String>();
t.put("value", key);
t.put("color", "#173177");
data.put(key, t);
}
return data;
}
public static void main(String[] args) {
String content = "{ { first .DATA }}\n" +
"缴费项目:{ { keyword1 .DATA } }\n" +
"应缴金额:{{ keyword2 .DATA } }\n" +
"已缴金额:{{ keyword3.DATA }} \n" +
"本次缴费:{ {keyword4.DATA }} \n" +
"欠缴金额:{{ keyword5.DATA }}\n" +
"{ { remark .DATA} }";
getSendDataTemp(content);
}
能够从
{{first.DATA}}
缴费项目:{{keyword1.DATA}}
应缴金额:{{keyword2.DATA}}
已缴金额:{{keyword3.DATA}}
本次缴费:{{keyword4.DATA}}
欠缴金额:{{keyword5.DATA}}
{{remark.DATA}}
这种类型的内容中提取出来对应的data数据模板