java perl5compiler,Java中正则表达式使用方法详解(四)
3.2 HTML处理实例一
下面一个任务是分析HTML页面内FONT标记的所有属性。HTML页面内典型的FONT标记如下所示
程序将按照如下形式,输出每一个FONT标记的属性
在这种情况下,我建议你使用两个正则表达式。第一个如图十一所示,它从字体标记提取出“"face="Arial, Serif" size="+2" color="red"”。
图十一:匹配FONT标记的所有属性
第二个正则表达式如图十二所示,它把各个属性分割成名字-值对。
图十二:匹配单个属性,并把它分割成名字-值对
分割结果为
现在我们来看看完成这个任务的Java代码。首先创建两个正则表达式字符串,用Perl5Compiler把它们编译成Pattern对象。编译正则表达式的时候,指定Perl5Compiler.CASE_INSENSITIVE_MASK选项,使得匹配操作不区分大小写。|||
接下来,创建一个执行匹配操作的Perl5Matcher对象。
假设有一个String类型的变量html,它代表了HTML文件中的一行内容。如果html字符串包含FONT标记,匹配器将返回true.此时,你可以用匹配器对象返回的MatchResult对象获得第一个组,它包含了FONT的所有属性
接下来创建一个PatternMatcherInput对象。这个对象允许你从最后一次匹配的位置开始继续进行匹配操作,因此,它很适合于提取FONT标记内属性的名字-值对。创建PatternMatcherInput对象,以参数形式传入待匹配的字符串。然后,用匹配器实例提取出每一个FONT的属性。这通过指定PatternMatcherInput对象(而不是字符串对象)为参数,反复地调用PatternMatcher对象的contains()方法完成。PatternMatcherInput对象之中的每一次迭代将把它内部的指针向前移动,下一次检测将从前一次匹配位置的后面开始。
本例的输出结果
java perl5compiler,Java中正则表达式使用方法详解(四)相关推荐
- Java去除字符串中空格的方法详解
昨天写了一个关于Excel文件处理的脚本,在字符串匹配功能上总是出现多余不正确的匹配,debug调试之后,发现一个坑. 代码中字符串使用了replaceAll()方法,去除了所有空格(其中包括:首尾空 ...
- java多线程中的join方法详解
java多线程中的join方法详解 方法Join是干啥用的? 简单回答,同步,如何同步? 怎么实现的? 下面将逐个回答. 自从接触Java多线程,一直对Join理解不了.JDK是这样说的:join p ...
- Java中的main()方法详解
源文作者:leizhimin 源文链接:http://lavasoft.blog.51cto.com/62575/53263 源文作者版权申明: 版权声明:原创作品,允许转载,转载时请务必以超链 ...
- java中main是什么_Java中的main()方法详解
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是 ...
- Java多线程编程中Future模式的详解
转载自 https://www.cnblogs.com/winkey4986/p/6203225.html Java多线程编程中,常用的多线程设计模式包括:Future模式.Master-Worker ...
- java读写json格式的文件方法详解.txt,并批量存储进redis
捐躯赴国难,视死忽如归.恸哭六军俱缟素,冲冠一怒为红颜.君子坦荡荡,小人长戚戚.风日晴和人意好,夕阳箫鼓几船归.民为贵,社稷次之,君为轻.Java 读写json格式的文件方法详解 文章录入:7747. ...
- Python 在子类中调用父类方法详解(单继承、多层继承、多重继承)
Python 在子类中调用父类方法详解(单继承.多层继承.多重继承) by:授客 QQ:1033553122 测试环境: win7 64位 Python版本:Python 3.3.5 代码实践 ...
- php 文件扫描去重,PHP中的去重方法详解和文件下载
本文主要和大家分享PHP中的去重方法详解和文件下载,在php中文件导入过程中,经常会遇到重复事件,那么就需要我们去重,然后进行下载. 1.思想 先设置一个存储主键数组,和一个空数组.解析文件,然后看要 ...
- keep alive PHP,vue中keep-alive使用方法详解
这次给大家带来vue中keep-alive使用方法详解,vue中keep-alive使用的注意事项有哪些,下面就是实战案例,一起来看一下. 1.keep-alive的作用以及好处 在做电商有关的项目中 ...
最新文章
- 异常“企图释放并非呼叫方所拥有的多用户终端运行程序”的处理
- 为啥不上SOA?中国企业的四大投资顾虑
- 解决Springboot文件上传报错,java.io.FileNotFoundException: D:\System\Temp\tomcat.819...00.tmp (系统找不到指定的文件。)
- 差分放大电路差模共模公式_提高差分放大器的共模抑制比,电阻的选择很关键...
- 使用了未经检查或不安全的操作_违规操作就是对家庭的不负责!电气安全员提醒你的安全常识...
- 输错密码?这个 sudo 会“嘲讽”你
- 怎么把录音导入库乐队_库乐队导入电脑版 苹果库乐队怎么导入歌
- 蓝海灵豚医疗器械管理软件隐形眼镜专版
- 写了一个wwwscan的路径生成工具
- 最后一天购书优惠!好书必买,不容错过!
- flyingsaucer转换多个html,如何在将PDF转换为HTML的同时在Flying-Saucer中设置基本URL?...
- 每日一个CSS——模拟键盘
- Imperva常用的维护命令
- 编程语言:Java与C语言C++的区别是什么?知道该学什么了吧!
- 模型预测控制(MPC)+逻辑控制(相平面分区控制)--matlab例程介绍
- 教主黄仁勋亮相GTC China:英伟达已售出15亿块GPU!重磅发布TensorRT 7
- 除法运算以及比较大小
- 一年级课程表(4月11日-4月15日)
- android获取ro._抖音数据采集教程,Android群控黑盒调用,Sekiro使用手册
- 适合电商平台的分账软件推荐
热门文章
- 【渝粤教育】国家开放大学2018年春季 3896T人文英语1 参考试题
- [渝粤教育] 中国地质大学 数据结构 复习题 (2)
- [渝粤教育] 中国地质大学 材料力学 复习题 (2)
- 【渝粤教育】广东开放大学 物业服务营销管理 形成性考核 (59)
- mysql存储过程语法 if_mysql存储过程语法 if
- 【自适应(盲)均衡5】分数间隔均衡器基本原理及应用(更正数字通信翻译版中公式错误)
- 循环自相关函数和谱相关密度(一)——公式推导
- 无载波幅度和相位调制(CAP)与QAM调制的详细解析(可见光通信应用场景),以及CAP matlab程序下载链接
- FPGA硬件学习基础知识点总结(1)
- openoffice+linux+jodconverter+乱码,OpenOffice安装和转换乱码解决方案