使用正则表达式操作html标签中的特定属性

来源:互联网 发布:杭州淘宝代运营hzjttp 编辑:程序博客网 时间:2024/05/02 04:47
由于使用FckEditor生成的图片标签是不带URL的, 所以需求是把服务器URL加入src属性.
以前从没用过正则,但现在不用不行啦,于是硬着头皮研究一串串乱码一样的东东. 
经过研究(多半是Google), 终于找到了个经测试无误的正则. 现把代码贴出来, 资源共享~~
public String imgAddUrl(String content){
    Pattern p 
= Pattern.compile("<img.*?/s+src=["']?([^"']*)["'/s]+.*?>");     //正则表达式
    
    StringBuffer result
=new StringBuffer(content);          //想要方便的操作字符,必须使用StringBuffer
    Matcher matcher = p.matcher(result);
    
int matchPointer = 0;
    
while (matcher.find(matchPointer)) {
        result.insert(matcher.start(
1), "http://"+addr);      //addr为定义好的变量,内容为服务器IP地址或URL.
        matchPointer = matcher.end();
        matchPointer
+=addr.length();
    }

    
return result.toString();
}
这么一小段代码, 搞了一天呢, 把我累坏了...