在文本文件中,我有Chapters
和Verses
,我需要提取章节编号和诗句编号。
章节的格式为["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]
有人可以帮助我使用另一个获得书名的正则表达式,谢谢。