仓酷云

标题: ASP网页编程之正则表达式简介(微软)--13.挑选与编组... [打印本页]

作者: 愤怒的大鸟    时间: 2015-1-16 22:53
标题: ASP网页编程之正则表达式简介(微软)--13.挑选与编组...
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。微软|正则选择与编组

选择同意利用|字符来在两个或多个候选项中举行选择。经由过程扩大章节题目的正则表达式,能够将其扩大为不单单合用于章节题目的表达式。不外,这可没有设想的那末间接。在利用选择时,将婚配|字符每边最大概的表达式。你大概以为上面的VisualBasicScriptingEdition和VBScript表达式将婚配位于一行的入手下手和停止地位且后跟一个或两个数字的Chapter或Section:

/^Chapter|Section[1-9][0-9]{0,1}$/
"^Chapter|Section[1-9][0-9]{0,1}$"

不幸的是,真实的情形是下面所示的正则表达式要末婚配位于一行入手下手处的单词Chapter,要末婚配一行停止处的后跟任何数字的Section。假如输出字符串为Chapter22,下面的表达式将只婚配单词Chapter。假如输出字符串为Section22,则该表达式将婚配Section22。但这类了局不是我们此处的目标,因而必需有一种举措来使正则表达式关于所要做的更容易于呼应,并且的确也有这类办法。

可使用圆括号来限定选择的局限,也就是申明确该选择只合用于这两个单词Chapter和Section。不外,圆括号一样也是难处置的,由于它们也用来创立子表达式,有些内容将在前面关于子表达式的部分先容。经由过程接纳下面所示的正则表达式并在得当地位增加圆括号,就能够使该正则表达式既能够婚配Chapter1,也能够婚配Section3。

上面的正则表达式利用圆括号将Chapter和Section构成一组,以是该表达式才干准确事情。对VisualBasicScriptingEdition为:

/^(Chapter|Section)[1-9][0-9]{0,1}$/

对VBScript为:

"^(Chapter|Section)[1-9][0-9]{0,1}$"

这些表达式事情准确,只是发生了一个风趣的副产物。在Chapter|Section双方安排圆括号创建了得当的编组,但也招致两个待婚配单词之一都被捕捉供从此利用。因为在下面所示的表达式中只要一组圆括号,因而只能有一个捕捉的submatch。可使用VBScript的Submatches汇合大概VisualBasicScriptingEdition中RegExp工具的$1-$9属性来援用这个子婚配。

偶然捕捉一个子婚配是所但愿的,偶然则是不但愿的。在申明所示的示例中,真正想做的就是利用圆括号对单词Chapter或Section之间的选择编组。其实不但愿在前面再援用该婚配。实践上,除非真的是必要捕捉子婚配,不然请不要利用。因为不必要花工夫和内存来存储那些子婚配,这类正则表达式的效力将更高。

能够在正则表达式形式圆括号外部的后面利用?:来避免存储该婚配供从此利用。对下面所示正则表达式的下述修正供应了免去子婚配存储的不异功效。对VisualBasicScriptingEdition:

/^(?:Chapter|Section)[1-9][0-9]{0,1}$/

对VBScript:

"^(?:Chapter|Section)[1-9][0-9]{0,1}$"

除?:元字符,另有两个非捕捉元字符用于称之为预查的婚配。一个为正向预查,用?=暗示,在任何入手下手婚配圆括号内的正则表达式形式的地位来婚配搜刮字符串。一个为负向预查,用?!暗示,在任何入手下手不婚配该正则表达式形式的地位来婚配搜刮字符串。

比方,假定有一个包括援用有Windows3.1、Windows95、Windows98和WindowsNT的文档。进一步假定必要更新该文档,办法是查找一切对Windows95、Windows98和WindowsNT的援用,并将这些援用变动为Windows2000。可使用上面的VisualBasicScriptingEdition正则表达式,这是一个正向预查,来婚配Windows95、Windows98和WindowsNT:

/Windows(?=95|98|NT)/

在VBScript要举行一样的婚配可使用下述表达式:

"Windows(?=95|98|NT)"

找到一个婚配后,紧接婚配到的笔墨(而不包含预查中利用的字符)就入手下手对下一次婚配的搜刮。比方,假如下面所示的表达式婚配到Windows98,则将从Windows而不是98以后持续查找。

</p>ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。
作者: 莫相离    时间: 2015-1-19 14:44
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
作者: 乐观    时间: 2015-1-24 12:52
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
作者: 小妖女    时间: 2015-2-1 12:47
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
作者: 老尸    时间: 2015-2-7 05:39
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
作者: 爱飞    时间: 2015-2-20 14:46
掌握asp的特性而且一定要知道为什么。
作者: 兰色精灵    时间: 2015-3-6 18:29
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
作者: 若天明    时间: 2015-3-13 05:10
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
作者: 谁可相欹    时间: 2015-3-13 05:10
那么,ASP.Net有哪些改进呢?
作者: 因胸联盟    时间: 2015-3-20 13:38
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2