日期:2014-05-17  浏览次数:20671 次

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\\>)");