正则 匹配html、style、script,获取文本内容 java

 1、正则表达式:

//匹配style标签,和标签内的内容
Pattern regExStyle = Pattern.compile("<style[^>]*?>[\\s\\S]*?<\\/style>");
//匹配script标签,和标签内的内容
Pattern regExScript = Pattern.compile("<script[^>]*?>[\\s\\S]*?<\\/script>");
//匹配html标签
Pattern regExHtml = Pattern.compile("<[^>]+>");
//匹配&nbsp;&nbsp;等这些特殊字符
Pattern regExSpecial  = Pattern.compile("&[a-z]+;");

2、代码实现

//匹配style标签,和标签内的内容
Pattern regExStyle = Pattern.compile("<style[^>]*?>[\\s\\S]*?<\\/style>");
//匹配script标签,和标签内的内容
Pattern regExScript = Pattern.compile("<script[^>]*?>[\\s\\S]*?<\\/script>");
//匹配html标签
Pattern regExHtml = Pattern.compile("<[^>]+>");
//匹配&nbsp;&nbsp;等这些特殊字符
Pattern regExSpecial  = Pattern.compile("&[a-z]+;");
String text="<p><!-- [if !mso]>\n" +
        "<style>\n" +
        "v\\:* {behavior:url(#default#VML);}\n" +
        "o\\:* {behavior:url(#default#VML);}\n" +
        "w\\:* {behavior:url(#default#VML);}\n" +
        ".shape {behavior:url(#default#VML);}\n" +
        "</style>\n" +
        "<p class=\"MsoToc1\" style=\"tab-stops: 42.0pt right 414.8pt;\"><span lang=\"EN-US\" style=\"color: #0060ff;\"><a style=\"color: #0060ff;\" href=\"#_Toc145942199\"><span lang=\"EN-US\" style=\"font-family: 仿宋;\"><span lang=\"EN-US\">一、</span></span><span style=\"line-height: 120%; font-weight: normal; text-decoration: none;\"><span style=\"mso-tab-count: 1;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang=\"EN-US\" style=\"font-family: 仿宋;\"><span lang=\"EN-US\">国家政策</span></span></a></span></p>\n" +
        "<p class=\"MsoToc3\" style=\"tab-stops: right 414.8pt;\"><span lang=\"EN-US\" style=\"color: #0060ff;\"><a style=\"color: #0060ff;\" href=\"#_Toc145942200\"><span lang=\"EN-US\" style=\"font-family: 仿宋;\"><span lang=\"EN-US\">七部门:发布汽车稳增长工作方案,力争</span></span>2023<span lang=\"EN-US\" style=\"font-family: 仿宋;\"><span lang=\"EN-US\">年汽车销量实现</span></span>900<span lang=\"EN-US\" style=\"font-family: 仿宋;\"><span lang=\"EN-US\">万辆</span></span></a></span></p>\n" +
        "<p class=\"MsoToc3\" style=\"tab-stops: right 414.8pt;\"><span lang=\"EN-US\" style=\"color: #0060ff;\"><a style=\"color: #0060ff;\" href=\"#_Toc145942201\"><span lang=\"EN-US\" style=\"font-family: 仿宋;\"><span lang=\"EN-US\">工信部:从四个方面推动新能源汽车产业高质量发展</span></span></a></span></p>\n" +
        "<p class=\"MsoToc3\" style=\"tab-stops: right 414.8pt;\"><span lang=\"EN-US\" style=\"color: #0060ff;\"><a style=\"color: #0060ff;\" href=\"#_Toc145942202\"><span lang=\"EN-US\" style=\"font-family: 仿宋;\"><span lang=\"EN-US\">六部门:集体释放汽车产业政策新</span></span><span style=\"font-family: 仿宋;\">&ldquo;</span><span lang=\"EN-US\" style=\"font-family: 仿宋;\"><span lang=\"EN-US\">信号</span></span><span style=\"font-family: 仿宋;\">&rdquo;</span><span lang=\"EN-US\" style=\"font-family: 仿宋;\"><span lang=\"EN-US\">,多措并举推动汽车产业政策加快落地</span></span></a></span></p>\n";
String script = regExScript.matcher(text).replaceAll("");
String style = regExStyle.matcher(script).replaceAll("");
String html = regExHtml.matcher(style).replaceAll("");
String res = regExSpecial.matcher(html).replaceAll("");
//res就是想要的结果
log.info("res");

3、匹配替换结果:

4、注意:html匹配替换必须在style和script之后。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值