<ul>
{loop}
<li>{name}</li>
{/loop}
</ul>
<hr />
<ul>
{loop}
<li>{title}</li>
{/loop}
</ul>
如上代码,如果通过正则匹配{loop}和{/loop}之间的数据如得到<li>{name}</li>和<li>{title}</li>

解决方案 »

  1.   

            strin html=这里读取模板文件
            string  strRe="{loop}(?<text>[\s\S]*?){loop}";                   
            Regex re = new Regex(strRe, RegexOptions.Compiled | RegexOptions.IgnoreCase);
            MatchCollection mc = re.Matches(inputStr);
            foreach (Match m in mc)
            {
                 return m.Groups["text"].ToString();             
            }
    不知道打对没有     
      

  2.   


                string str = @"<ul>
        {loop}
        <li>{name}</li>
        {/loop}
    </ul>
    <hr />
    <ul>
        {loop}
        <li>{title}</li>
        {/loop}
    </ul>";
                Regex reg = new Regex(@"(?is){loop}(?<content>((?!{/?loop}).)*)");
                foreach (Match m in reg.Matches(str))
                {
                    Response.Write(m.Groups["content"].Value + "<br/>");
                }
    /*
    结果:
        <li>{name}</li>
        <li>{title}</li>
    */
      

  3.   

    strin html=这里读取模板文件
      string strRe="{loop}(?<text>[\s\S]*?){loop}";   
      Regex re = new Regex(strRe, RegexOptions.Compiled | RegexOptions.IgnoreCase);
      MatchCollection mc = re.Matches(html);
      foreach (Match m in mc)
      {
      return m.Groups["text"].ToString();   
      }
    不知道打对没有