仓酷云

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

[学习教程] ASP编程:Asp正则表达式在UBB服装论坛中的使用

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:41:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的正则   1、读者指引
  读者指引匡助你把握本文的梗概。以避免你看了泰半才分明这编文章不合适你,给你形成视觉净化。
  假如你正在用ASP写法式,或你正在写一些诸如BBS、留言溥或表双数据反省之类的东东那就值得一看。

  假如你对正则表达式已洞若观火,那末你不用一行行的看,只需看看我写的模板,再对照一下,取其精髓就好了。
  假如你仍是第一次接触正则表达式,那末你最好一行行的看,并逐条实验

  当你纯熟的把握了正则表达式的用法,你就会发明其乐无量。

2、正则表达式的概念

  甚么是UBB代码?甚么是正则表达式?

  UBB代码是HTML的一个变种。普通情形下,UBB服装论坛不答应你利用HTML代码,而只能用UBB代码替换HTML代码。
  UBB代码是一套由盛行的UBB标签构成了固定代码,代码有一致的格局。用户只需遵守代码划定规矩就能够完成用户想要的功效。如:
  想要显示粗体的how are you 字样,就应当输出 how are you而不是输出<b>how are you</b>

  你或许会问:ASP是如何把 how are you转换为<b>how are you</b>的呢?
  回覆这个成绩就是:用正则表达式。

3、正则表达式的用处

有时咱们在制造网站表双数据处置的时分(特别是UBB服装论坛),都需求停止数据验证和字符串替换,出格是UBB服装论坛要停止大批的数据平安性和字符串替换

邮于普通的服装论坛不撑持HTML语法这就使得用户不克不及修正字体,不克不及贴图等等一些功效。如许使得服装论坛得到了吸援用户的一个强无力的路子。能够说一个壮大的服装论坛在吸援用户数目上仍是很主要的。如许就呈现了一个UBB处理计划,即在服装论坛不撑持HTML语法的情形下用户依然可以定制自已贴子的款式,贴图,增添链接,转贴网页等等诸多的功效,能够到达撑持HTML语法一样的后果,并且如许可使得服装论坛相对HTML的服装论坛平安性大大进步。用户根基不克不及对服装论坛过行任何歹意进击。

4、正则表达式的语律例则和标志

  如今咱们正式进入则表达式的进修,我会依据实例联合解说正则表达式的用法,看完后你就会感觉写UBB代码如斯复杂了,只需你一步一步的随着我学 看完本文章后你就成为UBB高手了。冲动人心的就是你能写出自已的UBB标签来了,不再用到他人那边去拷贝现成的代码和模板了。 还好VBScritp5.0给咱们供应了“正则表达式”对象,只需你的办事器装置了IE5.x,就能够运转了.

  字符描写:

  ^符号婚配字符串的开首。例如:
    ^abc 与“abc xyz”婚配,而不与“xyz abc”婚配

  $符号婚配字符串的开头。例如:
    abc$ 与“xyz abc”婚配,而不与“abc xyz”婚配。
    注重:假如同时利用^符号和$符号,将停止准确婚配。例如:
       ^abc$ 只与“abc”婚配   

  *符号婚配0个或多个后面的字符。例如:
    ab* 可以婚配“ab”、“abb”、“abbb”等

  +符号婚配最少一个后面的字符。例如:
    ab+ 可以婚配“abb”、“abbb”等,但不婚配“ab”。

  ?符号婚配0个或1个后面的字符。例如:
    ab?c? 可以且只能婚配“abc”、“abbc”、“abcc”和“abbcc”

  .符号婚配除换行符之外的任何字符。例如:
    (.)+ 婚配除换行符之外的一切字符串

  x|y婚配“x”或“y”。例如:
    abc|xyz 可婚配 “abc”或 “xyz”,而“ab(c|x)yz”婚配 “abcyz”和“abxyz”

  {n}婚配刚好n次(n为非负整数)后面的字符。例如:
    a{2} 可以婚配“aa“,但不婚配“a”

  {n,}婚配最少n次(n为非负整数)后面的字符。例如:
    a{3,} 婚配“aaa”、“aaaa”等,但不婚配“a”和“aa”。
    注重:a{1,}等价于a+
       a{0,}等价于a*

  {m,n}婚配最少m个,最多n个后面的字符。例如:
    a{1,3} 只婚配“a”、“aa”和“aaa”。
    注重:a{0,1}等价于a?

  [xyz]暗示一个字符集,婚配括号中字符的个中之一。例如:
    [abc] 婚配“a”、“b”和“c”

  [^xyz]暗示一个否认的字符集。婚配不在此括号中的任何字符。例如:
    [^abc] 可以婚配除“a”、“b”和“c”以外的任何字符

  [a-z]暗示某个局限内的字符,婚配指定区间内的任何字符。例如:
    [a-z] 婚配从“a”到“z”之间的任何一个小写字母字符

  [^m-n]暗示某个局限以外的字符,婚配不在指定局限内的字符。例如:
    [m-n] 婚配除从“m”到“n”之间的任何字符

  \符号是本义操作符。例如:
    \n 换行符
    \f 分页符
    \r 回车
    \t 制表符
    \v 垂直制表符

    \\ 婚配“\”
    \/ 婚配“/”

    \s 任何白字符,包含空格、制表符、分页符等。等价于“[ \f\n\r\t\v]”
    \S 任何非空白的字符。等价于“^\f\n\r\t\v]”
    \w 任何单词字符,包含字母和下划线。等价于“[A-Za-z0-9_]”
    \W 任何非单词字符。等价于“[^A-Za-z0-9_]”

    \b婚配单词的开头。例如:
      ve\b 婚配单词“love”等,但不婚配“very”、“even”等

    \B婚配单词的开首。例如:
      ve\B 婚配单词“very”等,但不婚配“love”等

    \d婚配一个数字字符,等价于[0-9]。例如:
      abc\dxyz 婚配“abc2xyz”、“abc4xyz”等,但不婚配“abcaxyz”、“abc-xyz”等

    \D婚配一个非数字字符,等价于[^0-9]。例如:
      abc\Dxyz 婚配“abcaxyz”、“abc-xyz”等,但不婚配“abc2xyz”、“abc4xyz”等

    \NUM婚配NUM个(个中NUM为一个正整数),援用回到记住的婚配。例如:
      (.)\1 婚配两个一连不异的字符。

    \oNUM婚配n(个中n为一个小于256的八进制换码值)。例如:
      \o011 婚配制表符

    \xNUM婚配NUM(个中NUM为一个小于256的十六进制换码值)。例如:
      \x41 婚配字符“A”


5、实例剖析

1)在字符串中准确查找链接地址

((http|https|ftp):(\/\/|\\\\)((\w)+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(((\/[\~]*|\\[\~]*)
(\w)+)|[.](\w)+)*(((([?](\w)+){1}[=]*))*((\w)+){1}([\&](\w)+[\=](\w)+)*)*)

咱们晓得,链接地址普通以http或https或ftp等模式呈现。初步总结一下就是,链接地址必需合适以下前提:

前提1
 以http://或https://或ftp://等开首(固然还有其它模式,这里只列出次要的)

前提2
 http://前面必需跟一个单词字符,紧接着单词字符前面的是"."(如许的组合必需呈现一次或屡次)。紧随着“.”前面的是域名后缀(如net或com或cn等,假如是以IP地址的模式呈现就能够是数字)

前提3
 呈现完全的链接地址后,还可以呈现下一级或更多级的目次(还要注重团体主页的地址有能够呈现"~"符号)

前提4
 链接地址末尾可以带参数。如典范的页数?PageNo=2&action=display等

如今咱们用上面的代码来逐一婚配下面的前提――

1、((http|https|ftp):(\/\/|\\\\) 知足前提1
暗示http:// http:\\ https:// https:\\ ftp:// ftp:\\都婚配(在这里思索了某些用户能够把"//"输成“\\”的易发性毛病)
注重:"|"暗示“或”,"\"是本义字符。“\/\/”暗示"//",“\\\\”暗示"\\"

2、((\w)+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3}) 知足前提2
“((\w)+[.]){1,}”暗示一个单词字符加一个点号可以呈现1次或屡次(这里思索了某些用户喜好省略www而将http://www.w3c.com写成http://w3c.com)
“(net|com|cn|org|cc|tv|[0-9]{1,3})”暗示必需要以net或com或cn或org或cc或tv或三位以下的数字停止
[0-9]{1,3}暗示三位以下的数字,由于ip地址的任何段不克不及超越255

3、(((\/[\~]*|\\[\~]*)(\w)+)|[.](\w)+)* 知足前提3</p>  ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;
海妖 该用户已被删除
沙发
发表于 2015-2-4 05:58:58 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
精灵巫婆 该用户已被删除
板凳
发表于 2015-2-5 22:52:08 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
深爱那片海 该用户已被删除
地板
发表于 2015-2-14 01:31:20 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
金色的骷髅 该用户已被删除
5#
发表于 2015-2-24 21:05:35 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
若相依 该用户已被删除
6#
发表于 2015-2-28 10:15:08 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
愤怒的大鸟 该用户已被删除
7#
发表于 2015-3-5 19:33:00 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
简单生活 该用户已被删除
8#
发表于 2015-3-6 21:54:40 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
山那边是海 该用户已被删除
9#
发表于 2015-3-7 10:30:36 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
爱飞 该用户已被删除
10#
发表于 2015-3-14 23:59:54 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
蒙在股里 该用户已被删除
11#
发表于 2015-3-21 14:57:06 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
再现理想 该用户已被删除
12#
发表于 2015-3-22 23:10:45 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
只想知道 该用户已被删除
13#
发表于 2015-3-26 21:38:14 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
柔情似水 该用户已被删除
14#
发表于 2015-3-28 05:10:50 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
兰色精灵 该用户已被删除
15#
发表于 2015-4-7 19:07:34 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
因胸联盟 该用户已被删除
16#
发表于 2015-4-21 21:40:47 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
透明 该用户已被删除
17#
发表于 2015-4-26 18:08:36 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
分手快乐 该用户已被删除
18#
 楼主| 发表于 2015-5-6 01:10:02 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
变相怪杰 该用户已被删除
19#
发表于 2015-6-20 02:04:13 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
若天明 该用户已被删除
20#
发表于 2015-7-8 21:03:01 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-7 04:15

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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