|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP.NET和ASP的比较,技术上比较已经没什么可说的了.新一代在大部分程度来说当然是比旧一代好了.关键看你对所做软件的理解了.因人而定.会写的话也可能比ASP.NET写得更有效率和更方便重用微软|正则后向援用
正则表达式一个最主要的特征就是将婚配乐成的形式的某部分举行存储供今后利用这一才能。请回忆一下,对一个正则表达式形式或部分形式双方增加圆括号将招致这部分表达式存储到一个一时缓冲区中。可使用非捕捉元字符?:,?=,or?!来疏忽对这部分正则表达式的保留。
所捕捉的每一个子婚配都依照在正则表达式形式中从左至右所碰到的内容存储。存储子婚配的缓冲区编号从1入手下手,一连编号直至最年夜99个子表达式。每一个缓冲区都可使用
会见,个中n为一个标识特定缓冲区的一名或两位十进制数。
后向援用一个最复杂,最有效的使用是供应了断定笔墨中一连呈现两个不异单词的地位的才能。请看上面的句子:
Isisthecostofofgasolinegoingupup?
依据所写内容,下面的句子分明存在单词屡次反复的成绩。假如能有一种办法无需查找每一个单词的反复征象就可以修正该句子就行了。上面的VisualBasicScriptingEdition正则表达式利用一个子表达式就能够完成这一功效。
/([a-z]+)1/gi
等价的VBScript表达式为:
"([a-z]+)1"
在这个示例中,子表达式就是圆括号之间的每项。所捕捉的表达式包含一个或多个字母字符,即由[a-z]+所指定的。该正则表达式的第二部分是对后面所捕捉的子婚配的援用,也就是由附加表达式所婚配的第二次呈现的单词。1用来指定第一个子婚配。单词界限元字符确保只检测独自的单词。假如不如许,则诸如"isissued"或"thisis"如许的短语城市被该表达式不准确地辨认。
在VisualBasicScriptingEdition表达式中,正则表达式前面的全局标记(g)暗示该表达式将用来在输出字符串中查找尽量多的婚配。巨细写敏理性由表达式停止处的巨细写敏理性标志(i)指定。多行标志指定大概呈现在换行符的两头的潜伏婚配。对VBScript而言,在表达式中不克不及设置各类标志,但必需利用RegExp工具的属性来显式设置。
利用下面所示的正则表达式,上面的VisualBasicScriptingEdition代码可使用子婚配信息,在一个笔墨字符串中将一连呈现两次的不异单词交换为一个不异的单词:
varss="Isisthecostofofgasolinegoingupup?.
";
varre=/([a-z]+)1/gim;//创立正则表达式款式.
varrv=ss.replace(re,"$1");//用一个单词替换两个单词.
最靠近的等价VBScript代码以下:
Dimss,re,rv
ss="Isisthecostofofgasolinegoingupup?."&vbNewLine
Setre=NewRegExp
re.Pattern="([a-z]+)1"
re.Global=True
re.IgnoreCase=True
re.MultiLine=True
rv=re.Replace(ss,"$1")
请注重在VBScript代码中,全局、巨细写敏理性和多行标志都是利用RegExp工具的得当属性来设置的。
在replace办法中利用$1来援用所保留的第一个子婚配。假如有多个子婚配,则能够用$2,$3等持续援用。
后向援用的另外一个用处是将一个通用资本唆使符(URI)分化为组件部分。假定但愿将下述的URI分化为协定(ftp,http,etc),域名地点和页面/路径:
http://msdn.microsoft.com:80/scripting/default.htm
上面的正则表达式能够供应这个功效。对VisualBasicScriptingEdition,为:
/(w+)://([^/:]+)(:d*)?([^#]*)/
对VBScript为:
"(w+)://([^/:]+)(:d*)?([^#]*)"
第一个附加子表达式是用来捕捉该web地点的协定部分。该子表达式婚配位于一个冒号和两个正斜杠之前的任何单词。第二个附加子表达式捕捉该地点的域名地点。该子表达式婚配不包含^、/或:字符的任何字符序列。第三个附加子表达式捕捉网站端标语码,假如指定了该端标语。该子表达式婚配后跟一个冒号的零或多个数字。最初,第四个附加子表达式捕捉由该web地点指定的路径和大概页面信息。该子表达式婚配一个和多个除#或空格以外的字符。
将该正则表达式使用于下面所示的URI后,子婚配包括下述内容:
RegExp.$1包括"http"
RegExp.$2包括"msdn.microsoft.com"
RegExp.$3包括":80"
RegExp.$4包括"/scripting/default.htm"
</p>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|