如何利用正则表达式提取内容?内容格式如下:
论文(设计)题目
Title Of Thesis(Design)   基于××××     
分院(系别)
Department        ××××学院      
专  业
Specialty ××× 班级
Class  ×××  
论文(设计)作者
Author of Thesis(Design)   ×××   论文完成日期
Date 2007年07月01日
论文(设计)指导教师
Advisor   ×××   指导教师职称
The Title of Advisor  副 教 授 
基于××××(题目)
[摘要]××××[关键词] ×××××
英文题目
[Abstract] ****** 
[Keywords] *****
目  录
××××××如何利用正则表达式把其中的论文题目、院系、专业、作者、导师、职称、中英文摘要、中英文关键词、目录的具体内容取出来。代码应该如何写?谢谢!

解决方案 »

  1.   

    如果都是一行隔一行的话 匹配到key 就取它下一行的value
      

  2.   

    我怕ls你看完書還是有心無力
    你這是按順序的還是無序的?
    就算隔行用key的話也很麻煩的呀
    LZ你們老師要求一定要用el做?
    別的不行么
      

  3.   

    那你就把  论文题目、院系、专业、作者、导师、职称、中英文摘要、中英文关键词、目录 等关键词剔除掉就完了被说白了也就是中文的匹配问题,在   [\u4e00-\u9fa5]  这个区间之内具体的码值没查出来
      

  4.   

    不可能用正则表达式,你可以用xml技术.
      

  5.   

    安装Jakarta-ORO库,支持正则表达式。
    读取你的文件,每行赋值给一个String数组变量,String[i],伪码(具体怎么写可以查看jakarta的api):
       if String[i] match "Title Of Thesis(design)*"  
         String[i] extract content after Title Of Thesis(design)
      

  6.   

    如果格式始终是这样的话,可以通过读取行来操作
    如果每个内容都是一行,如下:
    Title Of Thesis\(Design\)([^\n]+)
    Department([^\n]+)
    Specialty([^\n]+)
    Class([^\n]+)
      

  7.   

    y用XML怎么解决?如何换个思路?
      

  8.   

    以提取题目为例,其他的类似
    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页的例子可以参考。
      

  9.   

    第一行的代码应该为:
    Pattern pt = Pattern.compile("论文(设计)题目$(.*)Title Of Thesis(Design)(.*)分院(系别)$",Pattern.MULTILINE | Pattern.DOTALL);