用java提取不同类型的文章标题就要设计出不同的正则表达式
2016-10-28 10:29
483 查看
用java提取不同类型的文章标题就要设计出不同的正则表达式
最近,我从网上下载了一个用java编写的用正则表达式从文本文件中批量提取文本目录的程序。用该程序,我从《神墓》这本章回小说中成功提取了各章节的标题,如前三章的标题如下:
第一章 远古神墓
第二章 沧海桑田
第三章 人世悠悠
经过分析源代码,发现标题之所以能提取成功,关键是在代码中插入了“^第[\u3400-\u9FFF]章”这个正则表达式。
后来还发现,用这种类型的正则表达式提取目录,对题目的设计也是有要求的。也就是说,标题的设计要满足下列四个条件:一是文本中的各章节标题必须各占一行;二是每个标题前面左对齐,不留空格。三是“第”的后面和“章”的前面不留空格。“第”和“章”之间插入的数目字必须用中文数目字如“零一二三四五六七八九十百千”表示。
经过反复试验,发现要想用正则表达式从文本中提取目录,必须依据“量体裁衣”,“对症下药”的原则,针对不同类型的标题,设计出不同类型的正则表达式,如下图所示:
用正则表达式提取文本目录
目录类型
正则表达式
第一章
^第[\u3400-\u9FFF]章
第 一 章
^第 [\u3400-\u9FFF] 章
第1章
^第[0-9]章
第 1 章
^第 [0-9] 章
1 一、
^[0-9] ^[\u3400-\u9FFF]、
相关文章推荐
- java 使用正则表达式从网页上提取网站标题
- 使用Java正则表达式来提取一篇文章中的邮箱账号
- java学习-- 使用正则表达式从网页上提取网站标题
- java 使用正则表达式从网页上提取网站标题
- java 正则表达式提取html纯文本
- 黑马程序员——Java基础---常用类,基本类型包装类,正则表达式
- 使用Java正则表达式去掉Double类型的数据后面多余的0
- 使用Java正则表达式去掉Double类型的数据后面多余的0
- Java正则表达式提取html纯文本
- 如何使用java的正则表达式提取html标签?
- java正则表达式(HTML提取)
- java正则表达式——判断字符串为哪种类型的数字?
- 黑马程序员——JAVA基础---正则表达式---概述,匹配、切割、替换、提取,网页爬虫
- Java正则表达式, 提取双引号中间的部分
- java通过正则表达式提取XML节点内容
- java正则表达式提取字符串中的数字
- jse.正则表达式--JAVA正则表达式,提取img的src问题!!!
- 黑马程序员——Java基础——String类、StringBuffer类、StringBuilder类、基本数据类型对象包装类操作、正则表达式应用
- Java使用正则表达式对日期类型进行格式转换
- 正则表达式实例代码,java正则提取字符串