String pTagImg = "(?i)<img[^>]*>(.*?)<\\/img>";
Pattern tagImgPattern = Pattern.compile(pTagImg);
Matcher tagImgMatcher = tagImgPattern.matcher("你好,请看<img href='#'>我的照片</img>");
while (tagImgMatcher.find()) {
//通过分组功能实现找到 标记中的内容
String replayValue=tagImgMatcher.group(1);
String result= tagImgMatcher.replaceAll(replayValue);
System.out.println(result);
}
我主要是想找到标记中的内容,然后用内容(我的照片)替换:<img href='#'>我的照片</img>
这样可以去掉标记,让它没有链接的功能了。但是我测试了一下,不能达到效果,不知道我哪里犯错误了。
请高手指点。
或者你们有什么更好的替换方式!请各路英雄各抒己见。(不知道火龙果在不在,哈哈)

解决方案 »

  1.   

    直接替换img标签就行了String pTagImg = "</?img[^(/)]*>";
           str = "你好,请看<img href='#'>我的照片</img>";
           System.out.println(str.replaceAll(pTagImg,""));
    结果:你好,请看我的照片
    是要这种结果吗?
      

  2.   

    str = str.replaceAll("(?is)<img \\b[^>/]*>(.*?)</img>", "$1");
      

  3.   

     LZ里正则换成这个String pTagImg = "<img[^>]*>(.*?)</img>";
    就可以用分组了