C#运用正则表达式智能获取html模版页中模版信息的应用

 2005年12月12日

    我们在做WebForm开发的时候经常会用到模版,可以方便地生成静态html页面,提高网站的访问速度,普通的模版应用有一定的局限性,一旦数量一多,势必会降低计算机的执行效率和代码的冗余度;但如果使用正则表达式,实限起来就非常容易,C#对正则表达式的支持非常好,不管html代码里有多少个模版标签,我们都可以一次把它全部取出来;当然,模版的写法也要有一定的规则(这很容易做到)!
    例如:我们在代码里面都按 $i_*(n1,n2,n3,n4,n5)$ 这样的标签定义(*为任意字符串),里面的[n1,n2,n3,n4,n5]为任意数字或字符,可以是文章的ID、截取字符串的长度、记录数等信息。
    然后我们在程序里面可以用如下正则表达式获取模版标签:
   //正则表达式
  string pat=@"\$i_.+?\([0-9]+,[0-9]+,[0-9]+,[0-9]+,[0-9]+\)?\$";
  Regex r=new Regex(pat,RegexOptions.IgnoreCase);

  MatchCollection matchs=r.Matches(mb);  //mb为html模版页面的代在码
  //生成相关内容
  foreach(Match match in matchs)
  {
    Value=match.Value.Substring(match.Value.IndexOf("(")+1,match.Value.IndexOf(")")-match.Value.IndexOf("(")-1);
    //Value为标签中的“n1,n2,n3,n4,n5”,在这里做你想做的事.....
  
}


http://www.cinenn.com/blog/CommentView,guid,782e85a8-62fd-43c0-b1d9-96bd33b75730.aspx
原文地址:https://www.cnblogs.com/flyfish/p/326020.html