java 正则 标签内容_java正则匹配html片段,并取得标签中的内容
最近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片段,并取得标签中的内容相关推荐
- java 导入world数据_java读取world文件,把world文件中的内容,原样输出到页面上。...
POI,处理可以.样式在Java代码中添加就可以.给了一个例子这个是Excel的.package cn.com.my.common; import java.io.File; import java. ...
- java各种符号用法_Java正则的基本用法一:符号
import java.awt.List; import java.util.ArrayList; /************************************************* ...
- pdfbox 第一页加内容_Java使用PDFBox操作PDF文件获取页码、文章内容、缩略图
一.依赖 com.sleepycat je 5.0.73 org.apache.pdfbox pdfbox 2.0.8 二.实现代码 import lombok.extern.slf4j.Slf4j; ...
- linux在文档中查找内容,【Linux】用grep在文档中查找内容
有时候,我们需要在文档中查找一些内容,常用grep.它在文档查找相关内容并输出匹配行. > 查找某关键字 在system.log中,查找包含keyword的行 grep 'keyword' sy ...
- 怎么样批量修改html里的内容,批量修改替换多个Word文档中同一内容的方法
批量修改替换多个Word文档中同一内容的方法群里一位朋友问到,如何一次性批量替换多个word文档中的同一内容.其实,实现多个Word文档的字符进行批量替换的方法有多种. 第一种方法,可以利用第三方软件 ...
- c语言指令 mul bl,汇编程序设计: 1.将BL寄存器的内容按二进制形式显示出来 2.将BX寄存器中的内容以十六进制形式显示出来...
满意答案 ffj90156 2013.04.28 采纳率:53% 等级:12 已帮助:7342人 mov b1,bx mov ax,bx mov al,bl ;将BL寄存器的内容按二进制形式显示 ...
- java 正则 小括号_java正则表达式匹配小括号内的内容
正则表达式用来指定字符串模式.当你需要定位匹配某种模式的字符串时就可以使用正则表达式.例如,我们下面的一个例程就是在一个HTML文件中通过查找字符串模式来定位所有的超链接. 当然,为了指定一种 ...
- java 正则 连续数字_Java - 正则表达式匹配字符串中的连续数字或字符
下面是一个快速,肮脏,未优化(可能是越野车),但你想要实现什么样的独立示例. public static void main(String[] args) { // should not allow ...
- java 正则替换 或_Java正则替换
/** * 替换上下文 * * @author tianhongjun * */ static class EvaluateContext { private int startPos; privat ...
最新文章
- 北京智源大会 | AI + 医疗的下一个十年:从公共卫生预警到人类基因密码破解...
- excel 如何快速实现绝对引用
- 解决 “OperationalError: (sqlite3.OperationalError) no such table: ...“问题
- 某同学使用计算机求30,概率论与数理统计习题集及答案
- 你在第几楼?80后、90后扎心图鉴
- epoll背后的原理
- 漫步者lollipods如何调节音量_漫步者MF5扩音器体验:老师值得入手
- 【SQLSERVER】SQL SERVER 2008筛选表报错
- Win11如何开启聚焦功能?Win11开启聚焦功能的方法
- RISC-V架构指令集开源
- Python——Window启动服务
- 几种常用的JSON解析工具的使用
- 提升职加薪的标准话术与禁忌
- wampserver php 目录,小常识-WAMPServer自定义根目录
- WIN10/WIN11 优启动 GHOST
- c语言反步法编程,CCM模式下Boost电路的反步法非线性控制与仿真.pdf
- win10用户名与计算机名字一样,win10电脑账户名和其他信息怎么更改
- CMW500 Bluetooth信令测试
- HTML5期末大作业:时尚服装购物网站设计——时尚服装购物商城(16页) 关于时尚购物HTML网页设计-----服装
- 数制转换2(利用栈)
热门文章
- 360互联网技术训练营第七期 -“遇见”PIKA 续集
- 安全客2017季刊-第3期
- 一个关于二叉树的创建、先序遍历、中序遍历、后序遍历、求叶子节点的完整函数的c语言完整程序。
- 收获,不止SQL优化——抓住SQL的本质--第五章
- 设计模式--模板方法模式--Java实现-- java访问控制关键字用法
- curl 发送各种格式的请求
- 大数据发展历程及技术选型
- 分布式内存文件系统Alluxio
- 快速正确的修改变量的命名和如何正确规范的注释
- java 1.6.0.11_ubuntu 11.10安装java1.6(转)