用java提取不同类型的文章标题就要设计出不同的正则表达式

 

用java提取不同类型的文章标题就要设计出不同的正则表达式

   

    最近,我从网上下载了一个用java编写的用正则表达式从文本文件中批量提取文本目录的程序。用该程序,我从《神墓》这本章回小说中成功提取了各章节的标题,如前三章的标题如下:
第一章 远古神墓
第二章 沧海桑田
第三章 人世悠悠
    经过分析源代码,发现标题之所以能提取成功,关键是在代码中插入了“^第[\u3400-\u9FFF]章”这个正则表达式。
    后来还发现,用这种类型的正则表达式提取目录,对题目的设计也是有要求的。也就是说,标题的设计要满足下列四个条件:一是文本中的各章节标题必须各占一行;二是每个标题前面左对齐,不留空格。三是“第”的后面和“章”的前面不留空格。“第”和“章”之间插入的数目字必须用中文数目字如“零一二三四五六七八九十百千”表示。
    经过反复试验,发现要想用正则表达式从文本中提取目录,必须依据“量体裁衣”,“对症下药”的原则,针对不同类型的标题,设计出不同类型的正则表达式,如下图所示:

 

用正则表达式提取文本目录

目录类型

正则表达式

第一章

^第[\u3400-\u9FFF]章

第 一 章

^第 [\u3400-\u9FFF] 章

第1章

^第[0-9]章

第 1  章

^第 [0-9] 章

 1            一、

 ^[0-9]          ^[\u3400-\u9FFF]、

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值