仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 617|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET教程之面向html标签的正则表达式

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:35:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
既然话题已经抄起,我打算今晚发篇博文再引导一下舆论方向,使它再火两天,抛砖引玉,而且赵劼先生一直在跟帖,使.NET阵营的我感到万分难得。正则  怎样构建一种面向html标签的正则表达式语法?
在处置字符串的过程当中,正则表达式有着不成替换的地位。如今的盘算机初级言语中都有响应的正则表达式撑持包。
假如我们把一个网页中html代码看成一个有布局的字符串,那末怎样用一品种似正则表达式的体例来提取想要的html标签(tags)呢?
这里先不思索怎样完成,而先思索怎样用一品种正则表达式的体例来形貌html标签。要获得一个html标签(tag),必要晓得该标签的2类属性:
  1、标签的地位;
  2、标签自己的属性;
  好比鄙人面的html网页中:
<html>
<body>
<divid="BodyWrapper"class="wrapper">
<divid="LeftWrapper"class="wrapper">
</div>
<divid="RightWrapper"class="wrapper">
<divclass="column">
<div>
<divclass="column">
<div>
</div>
</div>
</body>
</html>
假如想提取下面html代码中class是column的第二个div标签,那末必要我指定该div的id和class和地位信息。如今的成绩是:怎样计划一个满意上述请求的表达语法呢?
  好比:
gettag:div{tag-name:div;tag-position:2;tag-class:column;tag-id:;tag-content:;}
tag-parent{tag-name:div;tag-position:2;tag-class:column;tag-id:;tag-content:;}
tag-child{......}
下面这是一种易于了解的形貌式的语法。
大概相似python的语法:
gettag:div
tag-name:
tag-id:
tag-position:2
tag-class:column
tag-content:
tag-parent:
tag-name:
tag-id:
tag-position:2
tag-class:column
tag-content:
tag-child:
tag-type:table


不晓得人人有无更合适的语法体现情势。只需能公道的计划这个表达语法,那末后继的事情就好做了。如许做的终极目标是:程序员能够用这类表达式剖析html代码,就像处置一般的字符串那样的便利。
  但愿人人介入,多出主张,我会依据人人的反应,完美这个语法,并做一个基于这个语法的完成。
  参考:
  关于正则表达式的基础先容能够看这里:
http://www.webjx.com/htmldata/2006-03-16/1142469074.html
  http://www.webjx.com/htmldata/2006-03-16/1142468929.html
正则表达式最早是由数学家StephenKleene于1956年提出,他是在对天然言语的递增研讨功效的基本上提出来的。具有完全语法的正则表达式利用在字符的格局婚配方面上,厥后被使用到熔融信息手艺范畴。自从当时起,正则表达式经由几个时代的开展,如今的尺度已被ISO(国际尺度构造)同意和被OpenGroup构造认定。

正则表达式并不是一门公用言语,但它可用于在一个文件或字符里查找和替换文本的一种尺度。它具有两种尺度:基础的正则表达式(BRE),扩大的正则表达式(ERE)。ERE包含BRE功效和别的别的的观点。

很多程序中都利用了正则表达式,包含xsh,egrep,sed,vi和在UNIX平台下的程序。它们能够被良多言语采取,如HTML和XML,这些采取一般只是全部尺度的一个子集。
一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。
小女巫 该用户已被删除
沙发
发表于 2015-1-19 17:50:43 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
若天明 该用户已被删除
板凳
发表于 2015-1-25 18:47:52 | 只看该作者
有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。
变相怪杰 该用户已被删除
地板
发表于 2015-2-3 13:28:19 | 只看该作者
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
山那边是海 该用户已被删除
5#
发表于 2015-2-9 02:41:15 | 只看该作者
使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
简单生活 该用户已被删除
6#
发表于 2015-2-26 18:52:48 | 只看该作者
有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。
再见西城 该用户已被删除
7#
发表于 2015-3-8 16:43:47 | 只看该作者
Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境!
小妖女 该用户已被删除
8#
发表于 2015-3-16 06:30:14 | 只看该作者
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
莫相离 该用户已被删除
9#
发表于 2015-3-22 20:54:29 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-10 06:06

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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