正则表达式。与层次结构的大文本

时间:2009-12-08 13:13:17

标签: c# regex parsing

我有法律文本,章节和文章。

 Chapter 1. Something
 Article 1. trata-trata
 Article 2. trata-trata
 Article 3. trata-trata
 Chapter 2. Something
 Article 4. trata-trata
 Article 5. trata-trata
 Article 6. trata-trata

我需要regexp,在章节中查找文章,并知道哪些文章属于章节。 (最好是C#)

1 个答案:

答案 0 :(得分:1)

Regex不是您问题的最佳解决方案。您应该逐行解析文本,并将Articles存储在Chapter结构中。

string line = "";
StreamReader data = new StreamReader("your file.txt");
List<Chapter> chapters = new List<Chapter>();
while ((line = data.ReadLine()) != null)
{
    if (line.StartsWith("Chapter"))
    {
        chapters.Add(new Chapter(line));
    }
    else if (line.StartsWith("Article"))
    {
        chapters[chapters.Count - 1].Articles.Add(new Article(line));
    }
}