java正则表达式查找替换字符串怎么写?
本帖最后由 gzronald70 于 2013-08-01 17:03:19 编辑
原始字符串
<div><font color=red>##{cityName}##</fond></div>
首先需要查找出 <font color=red>##{...}##</fond> 中的内容 cityName ,并把 内容替换为 I love cityName ,然后把外围的<font color=red>##{...}##</fond>去掉,得到最终的结果如下:
<div>I love cityName</div>
要实现如上的效果,正则表达式应该怎么写啊?
------解决方案--------------------随手写了一个搓的,走合用
String s = "<div><font color=red>##{cityName}##</fond></div>";
Pattern pat = Pattern.compile("(?<=<div>).*(?=</div>)");
Matcher mat = pat.matcher(s);
while (mat.find()) {
System.out.println(s.replace(mat.group(), "I love xx"));
}
------解决方案--------------------Pattern pat = Pattern.compile("(?<=\\<font.{0,15}\\>\\{).*?(?=\\}\\</fond\\>)");