Java正则表达式抽取网页script标签之间的内容
String regex = "<[\\s]*?script type=\"text/tp[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>";
String htmlURL = "http://mshupeidian.bjx.com.cn/mnews/20170711/836347.shtml";
// String html = "<script type=\"text/tp1\" id=\"tp1\"><p><strong>95、发电源设点功率按什么原则计算?</strong></p><p>答:电源设点功率是根据ACE的大小按不同原则计算。ACE按其大小分为死区、正常分配区、允许控制区及紧急支援区。对不同的区域有不同的分配策略。</p></script>";
String html = HtmlUtils.getUserHtmlContent(htmlURL);//返回的网页源码
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(html);
while(matcher.find()){
System.out.println(matcher.group(0));
}
如题,想利用正则表达式提取网页<script type="text/tp1" id="tp1"></script>间的内容,采用如上regex表达式时发现返回的结果:
<script type="text/tp1" id="tp1">
<p><strong>95、发电源设点功率按什么原则计算?</script>
<script type="text/tp2" id="tp2">
<p><strong>107、什么是能量管理系统(EMS)?其主要功能是什么?</script>
<script type="text/tp3" id="tp3">
<p><strong>122、电力系统电压调整的常用方法有几种?</script>
<script type="text/tp4" id="tp4">
<p><strong>137、电力变压器停、送电操作,应注意哪些事项?</script>
问题即遇到源码含半边 /> 就停止匹配了,不能抽取完整结果,但同样的方法将上述的匹配内容换为注释的内容时有能准确抽取,尝试直接在网页源码进行转义双引号(即
String html = HtmlUtils.getUserHtmlContent(htmlURL).replaceAll("\"","\"");)但依然无法抽取!请问如何才能抽取完整结果,万谢!!
...全文
相关推荐
Java正则表达式如何匹配特定html标签内的内容
主要给大家介绍了关于Java正则表达式如何匹配特定html标签内的内容的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
网页正则标签抽取例子
一个使用正则表达式进行网页中特定信息抽取的例子,并对所得出的信息进行整合,用TextRank得出整合信息的关键词,方便查阅和文本匹配
Java精确抽取网页发布时间
主要为大家详细介绍了Java精确抽取网页发布时间的相关资料,尽量做到精确无误,感兴趣的小伙伴们可以参考一下
Java 获取Html文本中的img标签下src中的内容方法
今天小编就为大家分享一篇Java 获取Html文本中的img标签下src中的内容方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
web网页主内容抽取
从web page中提取主要内容,例如从新闻网页中提取新闻内容,且可以判别网页是否含有主内容。采用java编写,附送源代码(eclipse工程)和实例程序,并附赠一篇关于抽取方法的论文


