java正则替换img标签中src值的方法
主要功能是:替换html字符串中img标签src的值.
代码如下:
packagecom.junlenet.common.util;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
/**
*html处理工具类
*@authorhuweijun
*@date2016年7月13日下午7:25:09
*/
publicclassHtmlUtils{
/**
*替换指定标签的属性和值
*@paramstr需要处理的字符串
*@paramtag标签名称
*@paramtagAttrib要替换的标签属性值
*@paramstartTag新标签开始标记
*@paramendTag新标签结束标记
*@return
*@authorhuweijun
*@date2016年7月13日下午7:15:32
*/
publicstaticStringreplaceHtmlTag(Stringstr,Stringtag,StringtagAttrib,StringstartTag,StringendTag){
StringregxpForTag="<\\s*"+tag+"\\s+([^>]*)\\s*";
StringregxpForTagAttrib=tagAttrib+"=\\s*\"([^\"]+)\"";
PatternpatternForTag=Pattern.compile(regxpForTag,Pattern.CASE_INSENSITIVE);
PatternpatternForAttrib=Pattern.compile(regxpForTagAttrib,Pattern.CASE_INSENSITIVE);
MatchermatcherForTag=patternForTag.matcher(str);
StringBuffersb=newStringBuffer();
booleanresult=matcherForTag.find();
while(result){
StringBuffersbreplace=newStringBuffer("<"+tag+"");
MatchermatcherForAttrib=patternForAttrib.matcher(matcherForTag.group(1));
if(matcherForAttrib.find()){
StringattributeStr=matcherForAttrib.group(1);
matcherForAttrib.appendReplacement(sbreplace,startTag+attributeStr+endTag);
}
matcherForAttrib.appendTail(sbreplace);
matcherForTag.appendReplacement(sb,sbreplace.toString());
result=matcherForTag.find();
}
matcherForTag.appendTail(sb);
returnsb.toString();
}
publicstaticvoidmain(String[]args){
StringBuffercontent=newStringBuffer();
content.append(" ");
content.append(" ");
System.out.println("原始字符串为:"+content.toString());
StringnewStr=replaceHtmlTag(content.toString(),"img","src","src=\"http://junlenet.com/","\"");
System.out.println("替换后为:"+newStr);
}
}
以上这篇java正则替换img标签中src值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。