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

代码如下:

年代:2013年

朝向:东北

楼层:第10层(共33层)

结构:平层

装修:毛坯

住宅类别:普通住宅

建筑类别:板楼

产权性质:个人产权

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

住宅类别:普通住宅

发现会有点麻烦, 因为以

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

则模式为:

String regex2 = "

([\\s\\S]*?)";

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

匹配span的模式为:

String regex3 = "住宅类别";

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

dd=dd.replaceAll("

", "");//替换开头的dd

dd=dd.replaceAll("

", "");//替换结束的订单

dd=dd.replaceAll("", "");//替换span标签

完整代码如下:

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

public static void main(String[] args) {

String oriStr = "

"

"+

" 年代:2013年

"+

"

"+

" 朝向:东北

"+

"

"+

" 楼层:第10层(共33层)

"+

"

"+

" 结构:平层

"+

"

"+

" 装修:毛坯

"+

"

"+

" 住宅类别:普通住宅

"+

"

"+

" 建筑类别:板楼

"+

"

"+

" 产权性质:个人产权

"+

"

"+

"

";

String regex2 = "

([\\s\\S]*?)";

String regex3 = "住宅类别";

Pattern pattern2 = pile (regex2);

Pattern pattern3 = pile (regex3);

Matcher match2 = pattern2.matcher (oriStr);

Matcher match3 = null;

while (match2.find ()){//取的每个dd标签

String dd = match2.group ();

System.out.println(dd);

match3 = pattern3.matcher(dd);

if(match3.find()){//找到dd中含有住宅列别的span 将没用的替换掉

dd=dd.replaceAll("

", "");

dd=dd.replaceAll("

", "");

dd=dd.replaceAll("", "");

System.out.println("\n\n\n\n\n找到啦......"+dd+"\n\n\n\n");

}

}

}

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

  1. java 导入world数据_java读取world文件,把world文件中的内容,原样输出到页面上。...

    POI,处理可以.样式在Java代码中添加就可以.给了一个例子这个是Excel的.package cn.com.my.common; import java.io.File; import java. ...

  2. java各种符号用法_Java正则的基本用法一:符号

    import java.awt.List; import java.util.ArrayList; /************************************************* ...

  3. pdfbox 第一页加内容_Java使用PDFBox操作PDF文件获取页码、文章内容、缩略图

    一.依赖 com.sleepycat je 5.0.73 org.apache.pdfbox pdfbox 2.0.8 二.实现代码 import lombok.extern.slf4j.Slf4j; ...

  4. linux在文档中查找内容,【Linux】用grep在文档中查找内容

    有时候,我们需要在文档中查找一些内容,常用grep.它在文档查找相关内容并输出匹配行. > 查找某关键字 在system.log中,查找包含keyword的行 grep 'keyword' sy ...

  5. 怎么样批量修改html里的内容,批量修改替换多个Word文档中同一内容的方法

    批量修改替换多个Word文档中同一内容的方法群里一位朋友问到,如何一次性批量替换多个word文档中的同一内容.其实,实现多个Word文档的字符进行批量替换的方法有多种. 第一种方法,可以利用第三方软件 ...

  6. c语言指令 mul bl,汇编程序设计: 1.将BL寄存器的内容按二进制形式显示出来 2.将BX寄存器中的内容以十六进制形式显示出来...

    满意答案 ffj90156 2013.04.28 采纳率:53%    等级:12 已帮助:7342人 mov b1,bx mov ax,bx mov al,bl ;将BL寄存器的内容按二进制形式显示 ...

  7. java 正则 小括号_java正则表达式匹配小括号内的内容

    正则表达式用来指定字符串模式.当你需要定位匹配某种模式的字符串时就可以使用正则表达式.例如,我们下面的一个例程就是在一个HTML文件中通过查找字符串模式来定位所有的超链接.     当然,为了指定一种 ...

  8. java 正则 连续数字_Java - 正则表达式匹配字符串中的连续数字或字符

    下面是一个快速,肮脏,未优化(可能是越野车),但你想要实现什么样的独立示例. public static void main(String[] args) { // should not allow ...

  9. java 正则替换 或_Java正则替换

    /** * 替换上下文 * * @author tianhongjun * */ static class EvaluateContext { private int startPos; privat ...

最新文章

  1. 北京智源大会 | AI + 医疗的下一个十年:从公共卫生预警到人类基因密码破解...
  2. excel 如何快速实现绝对引用
  3. 解决 “OperationalError: (sqlite3.OperationalError) no such table: ...“问题
  4. 某同学使用计算机求30,概率论与数理统计习题集及答案
  5. 你在第几楼?80后、90后扎心图鉴
  6. epoll背后的原理
  7. 漫步者lollipods如何调节音量_漫步者MF5扩音器体验:老师值得入手
  8. 【SQLSERVER】SQL SERVER 2008筛选表报错
  9. Win11如何开启聚焦功能?Win11开启聚焦功能的方法
  10. RISC-V架构指令集开源
  11. Python——Window启动服务
  12. 几种常用的JSON解析工具的使用
  13. 提升职加薪的标准话术与禁忌
  14. wampserver php 目录,小常识-WAMPServer自定义根目录
  15. WIN10/WIN11 优启动 GHOST
  16. c语言反步法编程,CCM模式下Boost电路的反步法非线性控制与仿真.pdf
  17. win10用户名与计算机名字一样,win10电脑账户名和其他信息怎么更改
  18. CMW500 Bluetooth信令测试
  19. HTML5期末大作业:时尚服装购物网站设计——时尚服装购物商城(16页) 关于时尚购物HTML网页设计-----服装
  20. 数制转换2(利用栈)

热门文章

  1. 360互联网技术训练营第七期 -“遇见”PIKA 续集
  2. 安全客2017季刊-第3期
  3. 一个关于二叉树的创建、先序遍历、中序遍历、后序遍历、求叶子节点的完整函数的c语言完整程序。
  4. 收获,不止SQL优化——抓住SQL的本质--第五章
  5. 设计模式--模板方法模式--Java实现-- java访问控制关键字用法
  6. curl 发送各种格式的请求
  7. 大数据发展历程及技术选型
  8. 分布式内存文件系统Alluxio
  9. 快速正确的修改变量的命名和如何正确规范的注释
  10. java 1.6.0.11_ubuntu 11.10安装java1.6(转)