日期:2014-05-20  浏览次数:20670 次

如何利用正则表达式提取内容?
如何利用正则表达式提取内容?内容格式如下:
论文(设计)题目
Title Of Thesis(Design)   基于××××     
分院(系别)
Department        ××××学院      
专  业
Specialty ××× 班级
Class  ×××  
论文(设计)作者
Author of Thesis(Design)   ×××   论文完成日期
Date 2007年07月01日
论文(设计)指导教师
Advisor   ×××   指导教师职称
The Title of Advisor  副 教 授 
基于××××(题目)
[摘要]××××

[关键词] ×××××
英文题目
[Abstract] ****** 
[Keywords] *****
目 录
××××××

如何利用正则表达式把其中的论文题目、院系、专业、作者、导师、职称、中英文摘要、中英文关键词、目录的具体内容取出来。代码应该如何写?谢谢!

------解决方案--------------------
以提取题目为例,其他的类似
Pattern pt = Pattern.compile("论文(设计)题目$(.*)Title Of Thesis(Design)(.*)分院(系别)$");
Matcher mc = pt.matcher(content);//content为分析的文本
通过mc调用find方法,获取分组。mc.group(2)就是题目。
向你推荐一本书:《开发自己的搜索引擎--Lucene2.0+Heritrix》,人民邮电出版社,邱哲、符滔滔编著,2007年6月第一版。书上426页的例子可以参考。
------解决方案--------------------
第一行的代码应该为:
Pattern pt = Pattern.compile("论文(设计)题目$(.*)Title Of Thesis(Design)(.*)分院(系别)$",Pattern.MULTILINE | Pattern.DOTALL);