使用正则表达式从文本文件中查找数字

时间:2014-12-11 20:04:28

标签: java regex

在文本文件中,我有ChaptersVerses,我需要提取章节编号和诗句编号。

章节的格式为["CHAPTER "] [number]

经文的格式为[number] [text]

我有一个正则表达式,现在一旦搜索到一个单词,就打印出文档中的章节编号,就好像该单词包含在该章节中一样,但是对于该部分,它打印出整个经文,现在只是数字。我需要这节经文的编号而不是文字。到目前为止,这是使用正则表达式的代码,它返回了章节中包含的章节编号和文本。

  for(String a : list)
          {

              if(a.contains(word)){

                  String patt = "((?<chapter>CHAPTER\\s\\d{1,3}) (?<verse>\\d{1,3})(?<verseText>.*))|(^(?<verse2>\\d{1,3})(?<verseText2>.*))";
                  //String patt =  "^?(\\w*+)(\\d*+)(\\d*+)";
                  String book = "";
                  String chapter = " ";
                  String verse = " ";

                  Pattern pattern = Pattern.compile(patt);
                  Matcher match = pattern. matcher(a);
                    if(match.find()){
                         chapter = match.group();

                    }

                        System.out.println("[" +book +" " +chapter +" : " +verse +"]");     
                }   

我如何扩展它以使其搜索经文的编号而不是文本,在文本文档中每行列出经文,并且每行的开头都有编号的编号。谢谢你的帮助。

这是文本文档的格式:

本书的名称

第1章 1这是一节经文 2这另一节经文 3这是第3节 4这是第4节

第2章 1这是第2章的一节经文 2这是第2章的另一节经文 3这是第2章的第3节 4这是第2章的第4节

这对于多个经文和文本文件的多个章节是连续的。我需要返回的经文编号,而不是这节经文。需要输出的格式是[bookName chapter_number:verse_number]

有人可以帮助我使用另一个获得书名的正则表达式,谢谢。

0 个答案:

没有答案