您的位置:首页 > 编程语言 > Java开发

用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]、

 





 





 





 





 





 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: