java提取HTML正文的正则表达式?? 正则表达式怎样与才能最大限度地把html正文提取出来,即去掉了广告,格式,图片,只剩下正文... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static string StripHTML(string strHtml) { string [] aryReg ={ @"<script[^>]*?>.*?</script>", @"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\[""'tbnr]|[^\7])*?\7|\w+)|.{0})|\s)*?(\/\s*)?>", @"([\r\n])[\s]+", @"&(quot|#34);", @"&(amp|#38);", @"&(lt|#60);", @"&(gt|#62);", @"&(nbsp|#160);", @"&(iexcl|#161);", @"&(cent|#162);", @"&(pound|#163);", @"&(copy|#169);", @"&#(\d+);", @"-->", @"<!--.*\n" }; string [] aryRep = { "", "", "", "\"", "&", "<", ">", " ", "\xa1",//chr(161), "\xa2",//chr(162), "\xa3",//chr(163), "\xa9",//chr(169), "", "\r\n", "" }; string newReg =aryReg[0]; string strOutput=strHtml; for(int i = 0;i<aryReg.Length;i++) { Regex regex = new Regex(aryReg[i],RegexOptions.IgnoreCase ); strOutput = regex.Replace(strOutput,aryRep[i]); } strOutput.Replace("<",""); strOutput.Replace(">",""); strOutput.Replace("\r\n",""); return strOutput; } private String removehtmltag(String htmlstr) throws UnsupportedEncodingException{ htmlstr = htmlstr.replaceAll("\n", "<BR>"); Pattern pat = Pattern.compile("\\s*<.*?>\\s*", Pattern.DOTALL | Pattern.MULTILINE | Pattern.CASE_INSENSITIVE); Matcher m = pat.matcher(htmlstr); String rs = m.replaceAll(" "); rs = rs.replaceAll(" ", " "); rs = rs.replaceAll("<", "<"); rs = rs.replaceAll(">", ">"); rs = rs.replaceAll(" ", ""); return rs;} linux环境下,如何以命令行形式调用java程序 如何获得mysql数据库中表的字段名和字段的注释信息 关于setEchoChar()的一个疑问 急~ 如何去掉指定Jtable某一列的焦点? 一个基本JAVA类中怎么调用当前时间? 初学者 Applet中如何调用jar包中的图片? 请问下面这段C++代码怎么用java来实现? 有关于关键词匹配的算法,求解!!! 麻烦各位前辈帮我改一下这个程序,能够编译,但是具体输入一个数字,运行结果就会错!谢谢! jcreator4.0pro不支持中文,怎么办
{
string [] aryReg ={
@"<script[^>]*?>.*?</script>",
@"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\[""'tbnr]|[^\7])*?\7|\w+)|.{0})|\s)*?(\/\s*)?>",
@"([\r\n])[\s]+",
@"&(quot|#34);",
@"&(amp|#38);",
@"&(lt|#60);",
@"&(gt|#62);",
@"&(nbsp|#160);",
@"&(iexcl|#161);",
@"&(cent|#162);",
@"&(pound|#163);",
@"&(copy|#169);",
@"&#(\d+);",
@"-->",
@"<!--.*\n"
};
string [] aryRep = {
"",
"",
"",
"\"",
"&",
"<",
">",
" ",
"\xa1",//chr(161),
"\xa2",//chr(162),
"\xa3",//chr(163),
"\xa9",//chr(169),
"",
"\r\n",
""
};
string newReg =aryReg[0];
string strOutput=strHtml;
for(int i = 0;i<aryReg.Length;i++)
{
Regex regex = new Regex(aryReg[i],RegexOptions.IgnoreCase );
strOutput = regex.Replace(strOutput,aryRep[i]);
}
strOutput.Replace("<","");
strOutput.Replace(">","");
strOutput.Replace("\r\n",""); return strOutput;
}
{
htmlstr = htmlstr.replaceAll("\n", "<BR>");
Pattern pat = Pattern.compile("\\s*<.*?>\\s*", Pattern.DOTALL
| Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
Matcher m = pat.matcher(htmlstr);
String rs = m.replaceAll(" ");
rs = rs.replaceAll(" ", " ");
rs = rs.replaceAll("<", "<");
rs = rs.replaceAll(">", ">");
rs = rs.replaceAll(" ", "");
return rs;
}