java正则匹配html片段,并取得标签中的内容

Java正则表达式如何匹配特定html标签内的内容 主要给大家介绍了关于Java正则表达式如何匹配特定html标签内的内容的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 立即下载




        最近java群好友发来一个html代码,要帮忙匹配查找html代码里面特定的内容:

        代码如下:

Html代码   收藏代码
  1. <dl>  
  2.   
  3. <dd>  
  4.     <span class="gray6">年<span class="padl27"></span>代:</span>2013年</dd>  
  5.   
  6. <dd>  
  7.     <span class="gray6">朝<span class="padl27"></span>向:</span>东北</dd>  
  8.   
  9. <dd>  
  10.     <span class="gray6">楼<span class="padl27"></span>层:</span>第10层(共33层)</dd>  
  11.   
  12. <dd>  
  13.     <span class="gray6 ">结<span class="padl27"></span>构:</span>平层</dd>  
  14.   
  15. <dd>  
  16.     <span class="gray6">装<span class="padl27"></span>修:</span>毛坯</dd>  
  17.   
  18. <dd>  
  19.     <span class="gray6">住宅类别:</span>普通住宅</dd>  
  20.   
  21. <dd>  
  22.     <span class="gray6">建筑类别:</span>板楼</dd>  
  23.   
  24. <dd>  
  25.     <span class="gray6 ">产权性质:</span>个人产权</dd>  
  26.   
  27. <dd>  
  28.   
  29. </dl>  

 

伦理片 http://www.dotdy.com/

     需求为找到 span中内容为:住宅类别的中后面的内容,即获取“普通住宅”文本,通过分析发现如果直接匹配到具体的

Html代码   收藏代码
  1. <dd>  <span class="gray6">住宅类别:</span>普通住宅</dd>  

 

 发现会有点麻烦, 因为以<dd>开头 并以</dd>结束的模式如果写的不好会匹配整个大段的html(去掉开头和结尾的dl)。所以匹配模式改为先匹配每一个dd中的内容, 

 则模式为:

Java代码   收藏代码
  1. String regex2 = "<dd.*?>([\\s\\S]*?)</dd>";  

 

 然后将匹配的dd字符串在去匹配span查找是否存在“住宅类别”文字。如果匹配说明是我们需要查找的

 匹配span的模式为:

Java代码   收藏代码
  1. String regex3 = "<span.*?>住宅类别";  

 如果找到匹配的dd则将dd标签和span标签全部替换掉:思路如下:

Java代码   收藏代码
  1. dd=dd.replaceAll("<dd>", "");//替换开头的dd  
  2. dd=dd.replaceAll("</dd>", "");//替换结束的订单  
  3. dd=dd.replaceAll("<span.*?</span>", "");//替换span标签  

  

 完整代码如下:

 由于对正则不是很熟悉,纯粹的摸索。如果有更好的实现方法,往各位看官不吝赐教。

 

Java代码   收藏代码
  1. public static void main(String[] args) {  
  2.           
  3.         String oriStr = "<dl>"+  
  4.                 "<dd>"+  
  5.                 "    <span class=\"gray6\">年<span class=\"padl27\"></span>代:</span>2013年</dd>"+  
  6.                 "<dd>"+  
  7.                 "    <span class=\"gray6\">朝<span class=\"padl27\"></span>向:</span>东北</dd>"+  
  8.                 "<dd>"+  
  9.                 "    <span class=\"gray6\">楼<span class=\"padl27\"></span>层:</span>第10层(共33层)</dd>"+  
  10.                 "<dd>"+  
  11.                 "    <span class=\"gray6 \">结<span class=\"padl27\"></span>构:</span>平层</dd>"+  
  12.                 "<dd>"+  
  13.                 "    <span class=\"gray6\">装<span class=\"padl27\"></span>修:</span>毛坯</dd>"+  
  14.                 "<dd>"+  
  15.                 "    <span class=\"gray6\">住宅类别:</span>普通住宅</dd>"+  
  16.                 "<dd>"+  
  17.                 "    <span class=\"gray6\">建筑类别:</span>板楼</dd>"+  
  18.                 "<dd>"+  
  19.                 "    <span class=\"gray6 \">产权性质:</span>个人产权</dd>"+  
  20.                 "<dd>"+  
  21.                 "</dl>";  
  22.   
  23.         String regex2 = "<dd.*?>([\\s\\S]*?)</dd>";  
  24.         String regex3 = "<span.*?>住宅类别";  
  25.         Pattern pattern2 = Pattern.compile (regex2);  
  26.         Pattern pattern3 = Pattern.compile (regex3);  
  27.         Matcher match2 = pattern2.matcher (oriStr);  
  28.         Matcher match3 = null;  
  29.         while (match2.find ()){//取的每个dd标签  
  30.             String dd = match2.group ();  
  31.             System.out.println(dd);  
  32.             match3 = pattern3.matcher(dd);  
  33.               
  34.             if(match3.find()){//找到dd中含有住宅列别的span 将没用的替换掉  
  35.                 dd=dd.replaceAll("<dd>", "");  
  36.                 dd=dd.replaceAll("</dd>", "");  
  37.                 dd=dd.replaceAll("<span.*?</span>", "");  
  38.                 System.out.println("\n\n\n\n\n找到啦......"+dd+"\n\n\n\n");  
  39.             }  
  40.         }  
  41.           
  42.     }  

 影音先锋电影 http://www.iskdy.com/



FPGA人脸识别检测(先获取人脸图像以及灰度二值化) 由于图片有空洞等缺陷,所以后面要进行中值滤波、腐蚀、膨胀等算法处理,然后再对人脸进行框选,最后显示出来。最终的成像应该是下面这样的。(后面有时间再接着做哈哈哈)5、通过modelsim将操作后的图片数据写入gray_img.txt里面后,用matlab将txt转成图片。1、先用matlab将图片转换成txt数据,代码如下。读取图片的方式按照博客咸鱼里的方式来做,如下。2、FPGA读取txt数据。4、FPGA顶层模块及仿真。3、FPGA灰度二值化。 阅读详情

相关推荐

555定时器呼吸灯电路制作全攻略:从仿真到实物搭建(附避坑指南)

本文详细介绍了使用555定时器制作呼吸灯电路的完整流程,从基础原理到实物搭建,包括电路设计、元件选择、仿真验证、焊接技巧及调试优化。特别提供了避坑指南,帮助电子爱好者快速掌握这一经典DIY项目,实现美观的呼吸灯效果。

weixin_33734785的博客 402

Java判断字符串中是否包含HTML标签

Java判断字符串中是否包含HTML标签

JonTang的博客 2039

基于FME—三调篇—尖锐角及小缝隙处理

1 问题分析: 该功能实现在FME较为简单,相对ARCGIS模型构建器以及ARCGIS ENGINE,FME更适合无代码基础的人群。在三调内业数据处理要求中,尖锐角是不允许存在的。本文基于FME实现了对尖锐角的自动查询与消除以及自动处理在消除尖锐角过程中产生的缝隙,并进行了拓扑检查,实现自动化批量处理尖锐角的功能,提高工作效率。 2 总体思路: 2.1 实现功能分析: 1.找出小于指定角度的尖锐角...

qq_33315579的博客 9180

java使用正则获取字符串HTML代码段中的内容 节点属性值

public static List match(String source,String reg) {               List result = new ArrayList();               Matcher m = Pattern.compile(reg).matcher(source);               while (m.find()) {  

liqi_q的博客 2179

AD7920实战:从咪头到ADC的音频信号采集电路设计全解析(附电路图)

本文详细解析了基于AD7920 ADC芯片的音频信号采集电路设计全流程。从驻极体咪头的驱动、AD8542运放的两级增益与偏置设计,到关键的抗混叠滤波器配置,以及ADC接口的驱动缓冲与PCB布局要点,提供了完整的实战指南与电路图,帮助开发者实现高质量音频信号采集。

red88的博客 802

ACM算法模板 · 一些常用的算法模板-模板合集(打比赛专用)

萌新常用的都在这了,本萌新的模板集。

张天枭の博客 5万+

java截取标签内容_Java 正则 , 截取两个标签之间字符串

Java 正则 , 截取两个标签之间字符串 :Java代码 StringtestStr="12315showme";Patternp=Pattern.compile("(.*)");Matcherm=p.matcher(testStr);while(m.find()){System.out.println(m.group(1));}Java代码 如上,控制台输...

weixin_28814457的博客 625

RK3588+YT9215快速拓展以太网口

YT9215支持7个端口的非阻塞数据传输,确保高效的数据流处理;在开发过程中,最重要的一点就是YT9215与RK3588的GMAC连接和配置部分,下面是gmac1对应dtsi文件的修改,包括注释掉rgmii_phy1对应的mdio1,以及gmac1对应的phy-handle部分,同时将gmac1修改成1000Mbps全双工模式。这就是最简单,最快速的RK3588拓展网口的方法了,如果需要用到交换芯片的其他功能,那就不可以直接使用原厂提供的bin,而是需要对YT9215进行另外的驱动开发。

带着耳朵取流浪的博客 2793

Java使用正则表达式解析HTML代码

使用Java正则表达式拆分Html格式可以帮助爬虫做网页文本分析

Garson的博客 827

如何在 FPGA 中做数学运算

FPGA 非常适合进行数学运算,但是需要一点技巧,所以我们今天就看看如何在 FPGA 中进行简单和复杂的数学运算。介绍由于FPGA可以对算法进行并行化,所以FPGA 非常适合在可编程逻辑中实现数学运算。我们可以在 FPGA 中使用数学来实现信号处理、仪器仪表、图像处理和控制算法等一系列应用。这意味着 FPGA 可用于从自动驾驶汽车图像处理到雷达和飞机飞行控制系统的一系列应用。因为 FPGA 寄存器...

OpenFPGA的博客 2918

基于Simulink的六旋翼无人机动力分配仿真建模示例

六旋翼无人机概述特点:高冗余度、增强的负载能力和更好的故障容忍性。关键组件电机与螺旋桨:提供升力和推力。电调(ESC):控制电机转速。IMU(惯性测量单元):包括加速度计和陀螺仪,用于姿态估计。飞控板:处理传感器数据并生成控制信号。应用场景:航拍摄影、农业监测、物流配送等。仿真目标搭建一个简化的六旋翼无人机动力分配模型,涵盖电机驱动、姿态控制及位置控制过程。分析不同条件下的性能指标(如响应时间、稳定性等),并探讨六旋翼无人机的设计优化。

xiaoheshang_123的博客 485

java 正则 标签内容_java正则匹配html片段,并取得标签中的内容

最近java群好友发来一个html代码,要帮忙匹配查找html代码里面特定的内容:代码如下:年代:2013年朝向:东北楼层:第10层(共33层)结构:平层装修:毛坯住宅类别:普通住宅建筑类别:板楼产权性质:个人产权需求为找到 span中内容为:住宅类别的中后面的内容,即获取“普通住宅”文本,通过分析发现如果直接匹配到具体的 住宅类别:普通住宅发现会有点麻烦, 因为以开头 并以结束的模式如果写的不...

weixin_42124743的博客 448

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

html java片段_java正则匹配html片段,并取得标签中的内容

最近java群好友发来一个html代码,要帮忙匹配查找html代码里面特定的内容:代码如下:年代:2013年朝向:东北楼层:第10层(共33层)结构:平层装修:毛坯住宅类别:普通住宅建筑类别:板楼产权性质:个人产权需求为找到 span中内容为:住宅类别的中后面的内容,即获取“普通住宅”文本,通过分析发现如果直接匹配到具体的 住宅类别:普通住宅发现会有点麻烦, 因为以开头 并以结束的模式如果写的不...

weixin_36080429的博客 399

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

正则清除html,正则去掉html标签

如何用正则表达式去掉html标签使用正则表达式去掉html标签的方法常用的正则表达式是:/正则表达式,清除HTML标签,但要保留 和...保留 和标签,其他的清除 CSS布局HTML小编今天和大家分享高手 给个正则表达式把除了 的都删除(i表示忽略大小写): ########### JS ########## replace(//ig,'') ########### PERL ##########...

weixin_36239866的博客 2641

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python3 正则 去除 html标签、提取正文内容_Python通过正则表达式去除(过滤)HTML标签,提取文字...

# -*- coding: utf-8-*-import re##过滤HTML中的标签#将HTML中标签等信息去掉#@param htmlstr HTML字符串.def filter_tags(htmlstr):#先过滤CDATAre_cdata=re.compile('//]*//]]>',re.I) #匹配CDATAre_script=re.compile(']*>[^',re.I...

weixin_39567046的博客 1468

java正则表达式去除html标签_java正则表达式去除html标签

如下片段:style="height:494px; width:460px" />生命的旅途,一程有一程的风景,一程有一程的盛放。打开心灵的窗子,静看时光旖旎着一曲花开花落,用一种看山是山,看水是水的境界来生活就会快乐,人生的最美,便是来自心灵深处的通透与清欢。——题记喜欢在飘雪的午后,盈一眸恬静,书一抹情怀,看那雪花落入红尘最深处。暂离尘世喧嚣,将心灵放空,尽情的体会那份旷达与纯净。生命的...

weixin_35043838的博客 599

揭秘正则表达式匹配陷阱:如何用非贪婪模式精准捕获目标内容

掌握正则表达式的贪婪与非贪婪切换技巧,精准捕获目标内容不再难。适用于文本提取、日志解析等场景,通过添加?符号实现非贪婪匹配,避免过度捕获。提升匹配效率与准确性,值得收藏。

ProceNest的博客 740

HTML语言的正则表达式

正则表达式(Regular Expression,简称regex或regexp)是一种用于描述字符串模式的工具。它利用特定的字符组合来进行字符串匹配、搜索、替换等操作。正则表达式常用于数据验证、字符串操作、文本搜索和数据解析等场景。

2501_90485516的博客 919

对不完整的HTML片段加上结束标签

 public static string closeHTML(string str)    ...{      string[] HtmlTag = new string[]...{"p","div","span","table","ul","font","b","u","i","a","h1","h2","h3","h4","h5","h6"};      for(int i=0;iH

conanlwl的个人BLOG 1291

java过滤html标签_Java如何过滤html代码中的img标签

在做项目的过程中,需要将一段html代码中的img标签中的src属性值批量替换成其他对应的值。如下一段代码demoimg{width: 200px;}![](http://upload-images.jianshu.io/upload_images/765812-0c17fe5db8bfa3b9.JPG?imageMogr2/auto-orient/strip%7CimageView2/2/w/1...

weixin_39814925的博客 641

正则表达式匹配一段标签内容

<script[^>]*>(?:.|[\r\n])*?</script> 按照每一对<script></script>匹配<script[^>]*>(?:.|[\r\n])*</script> 整体匹配 转载于:https://www.cnblogs.com/dtts/p/4733809.html...

weixin_30404405的博客 576

php正则过滤html标签_空格_换行符的代码,php正则过滤html标签、空格、换行符的代码...

php正则过滤html标签、空格、换行符的代码发布于 2014-12-13 21:35:00 | 204 次阅读 | 评论: 0 | 来源: 网友投递PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件...

weixin_28802509的博客 195

正则表达式替换img标签src值

过滤content的img标签,替换src的值,输出替换后的文章

草根IT的博客 5027

Java后台获取html片段的汉字及汉字标点符号

今天面对一个场景,数据库中一个字段中存的数据是html片段,需要将html片段中的不包括标签的汉字及标点符号提出来作为摘要展示出来,经过一段时间折腾写下了这个方法,该方法还是比较实用的,特此记录下来。 public static String accessToChinese(String htmlParagraph){ Document doc = Jsoup.par

HelloVlife的博客 1145
上一篇: java String StringBuilder StringBuffer 以及各种赋值和注意
下一篇: http2的调试方法
dotedy
博客等级 码龄11年 61粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值