如何利用正则表达式提取内容?内容格式如下:
论文(设计)题目
Title Of Thesis(Design) 基于××××
分院(系别)
Department ××××学院
专 业
Specialty ××× 班级
Class ×××
论文(设计)作者
Author of Thesis(Design) ××× 论文完成日期
Date 2007年07月01日
论文(设计)指导教师
Advisor ××× 指导教师职称
The Title of Advisor 副 教 授
基于××××(题目)
[摘要]××××[关键词] ×××××
英文题目
[Abstract] ******
[Keywords] *****
目 录
××××××如何利用正则表达式把其中的论文题目、院系、专业、作者、导师、职称、中英文摘要、中英文关键词、目录的具体内容取出来。代码应该如何写?谢谢!
论文(设计)题目
Title Of Thesis(Design) 基于××××
分院(系别)
Department ××××学院
专 业
Specialty ××× 班级
Class ×××
论文(设计)作者
Author of Thesis(Design) ××× 论文完成日期
Date 2007年07月01日
论文(设计)指导教师
Advisor ××× 指导教师职称
The Title of Advisor 副 教 授
基于××××(题目)
[摘要]××××[关键词] ×××××
英文题目
[Abstract] ******
[Keywords] *****
目 录
××××××如何利用正则表达式把其中的论文题目、院系、专业、作者、导师、职称、中英文摘要、中英文关键词、目录的具体内容取出来。代码应该如何写?谢谢!
你這是按順序的還是無序的?
就算隔行用key的話也很麻煩的呀
LZ你們老師要求一定要用el做?
別的不行么
读取你的文件,每行赋值给一个String数组变量,String[i],伪码(具体怎么写可以查看jakarta的api):
if String[i] match "Title Of Thesis(design)*"
String[i] extract content after Title Of Thesis(design)
如果每个内容都是一行,如下:
Title Of Thesis\(Design\)([^\n]+)
Department([^\n]+)
Specialty([^\n]+)
Class([^\n]+)
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);