String s = "${F_lb},<p style=\"white-space: normal;\">${F_lb}<span style=\"color: rgb(51, 51, 51); font-family: "Microsoft YaHei", "Microsoft JhengHei", STHeiti, MingLiu; font-size: 12px; background-color: rgb(255, 255, 255);\">${title}:</span>基站15分钟。</p><p style=\"white-space: normal;\">${time}:${F_lb} xxx</p><p style=\"white-space: normal;\">${F_jzmc}</p><p><br/></p>";
Pattern pat = Pattern.compile("\\$\\{F_[^}]*\\}");
Matcher mat = pat.matcher(s);
List tagList = new ArrayList();
while (mat.find()) {
Map tagMap = new HashMap();
tagMap.put( "key", mat.group().substring(2, mat.group().length() - 1) );
tagMap.put( "value", mat.group() );
System.out.println(tagMap);
tagList.add(tagMap);
}
String a = "${F_lb}";
// 需要转义的字符
String[] escapeds = {"$","{","}","(",")","*","+",".","[","]","?","^","|"};
StringBuffer sb = new StringBuffer(a);
for(int i=0; i<escapeds.length; i++) {
int d = sb.indexOf(escapeds[i]);
if(d>-1)
sb.insert(d, "\\");
}
System.out.println(sb.toString());
s = s.replaceAll(sb.toString(), "bbbbbbbb");
System.out.println(s);
JAVA 正则表达式& replaceAll
最新推荐文章于 2024-08-15 02:16:16 发布