public string GetSectionString(string sectionName)
{
string regexPattern = @"(\[" + sectionName + @"\]" + @"(?<SectionString>[^\[]*)\[)";   <<<这里修改一下,内容不能匹配【号
Regex r = new Regex(regexPattern, RegexOptions.Singleline);
if(r.IsMatch(fileContents))
{
return r.Match(fileContents).Result("${SectionString}");
}
return string.Empty;
}

解决方案 »

  1.   

    代码贴得太多,看的头晕啊。这个匹配规则"\[(?<SectionName>\w*)\]"有点问题,限定符*是greedy(贪婪)的,例如对于这样的字符串
    xx[asdasd][asd]asd[asd]dasd]xxx
    它匹配的就是[asdasd][asd]asd[asd]dasd],如果改成"\[(?<SectionName>\w*?)\]",则匹配的是
    [asdasd],[asd]。用上楼兄弟的也不错,假如你知道ini文件中某个section的名字的话。
      

  2.   

    测试了一下 
    jimh(jimmy) 完全正确OneDotRed(武装到眼神) 说到点上了,但是并不是针对我的问题的那个方面解决的谢谢二位谢谢大家