设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 248|回复: 6
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2009-3-16 14:04:28 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我们在做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”,在这里做你想做的事.....
2#
发表于 2010-1-19 11:05:04 | 只看该作者
声明一下:本人看贴和回贴的规则,好贴必看,精华贴必回。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-20 15:17 , Processed in 0.072075 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表