51,397
社区成员




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));
}
String html = HtmlUtils.getUserHtmlContent(htmlURL).replaceAll("\"","\"");
)但依然无法抽取!请问如何才能抽取完整结果,万谢!!String regex = "<[\\s]*?script type=\"text/tp[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>";
改为String regex = "<script type=\"text/tp\\d\"\\s*id=\"tp\\d\">(\\s*\\S*.*)"
也就是将后半个标签</script>去除匹配就解决了问题,匹配出来的部分结果<p><strong>导体屏蔽层(也称内屏蔽层、内半导电层)</script>
可见到有</script>穿插在其中,但后面的内容依然可以准确抽取出来,新手不才,希望哪位大神解答一下其中的原因,万谢!!