仓酷云

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

[学习教程] ASP教程之正则表达式在收集编程中的使用(4)

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

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

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

x
我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。编程|收集|正则  正则表达式在UBB论坛中的使用

  1、UBB代码的观点

  甚么是UBB代码?

  UBB代码是HTML的一个变种。一样平常情形下,UBB论坛不同意你利用HTML代码,而只能用UBB代码替换HTML代码。

  UBB代码是一套由盛行的UBB标签构成了流动代码,代码有一致的格局。用户只需遵守代码划定规矩就能够完成用户想要的功效。如:

  想要显现粗体的howareyou字样,就应当输出howareyou而不是输出<b>howareyou</b>

  你大概会问:ASP是如何把howareyou转换为<b>howareyou</b>的呢?

  回覆这个成绩就是:用正则表达式。

  2、实例剖析

  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

  "(/[~]*|[~]*)"暗示能够呈现"/~"大概是"~",(个中"[~]*"暗示~能够呈现也能够不呈现),由于不是每一个链接地点都有下一级目次

  "(w)+)|[.](w)+)"暗示必需呈现一个单词字符(即目次大概是一个带有扩大名的文件)

  注重:最初另有一个"*"暗示下面括号内的能够呈现也能够不呈现,不然就只能婚配有下一级目次的链接地点了。

  4、(((([?](w)+){1}[=]*))*((w)+){1}([&](w)+[=](w)+)*)*)满意前提4

  "((([?](w)+){1}[=]*))*((w)+){1}"暗示形如"?PageNo=2"的字符串能够呈现也能够不呈现,假如呈现则只能呈现一次(由于不成能有两个"?"号呈现)。

  "([&](w)+[=](w)+)*)"暗示形如"&action=display"的字符串能够呈现也能够不呈现(由于并非每一个网页都带有两个以上的参数。

  全部"((([?](w)+){1}[=]*))*((w)+){1}([&](w)+[=](w)+)*)*"暗示形如"?PageNo=2&action=display"的字符串能够呈现也能够不呈现(即链接地点能够有参数也能够没有参数)

  把下面的组合起来,我们就能够婚配一个对照周全的链接地点了。比用复杂的"(http://S+)"来婚配一个链接地点要好,读者能够自行行测试对照。固然,这段代码另有良多不敷的地方,但愿人人可以持续改善。

  2)替换典范的UBB标签:

  我们的目标就是要把成对的交换成<b></b>上面来看我们完成它的模板

    ()(.+)()

  这里用了"(.+)"来配匹之间的全部字符串,在替换的时分我们要写成如许

    str=checkexp(re,str,"<b>$2</b>")

  (注重:checkexp是我自界说的函数,将在前面给出。这个函数将把依照我们供应的模板举行替换。)

  大概你会问这里呈现一个"$2"是甚么东东,呵注重了这个$2但是很主要的,它代表了"(.+)"所配匹的全部字符串。

  为何是$2而不是$1、$3呢?由于$1代表()所婚配的""字符串,$3代表()所婚配的""字符串,明显这里我们必要的是$2而不是$1$3。</p>减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。
海妖 该用户已被删除
沙发
发表于 2015-1-19 05:59:58 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
谁可相欹 该用户已被删除
板凳
发表于 2015-1-24 07:49:34 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
admin 该用户已被删除
地板
发表于 2015-1-31 22:16:27 | 只看该作者
掌握asp的特性而且一定要知道为什么。
精灵巫婆 该用户已被删除
5#
发表于 2015-2-7 00:19:10 | 只看该作者
那么,ASP.Net有哪些改进呢?
变相怪杰 该用户已被删除
6#
发表于 2015-2-19 04:32:20 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
活着的死人 该用户已被删除
7#
发表于 2015-3-6 13:02:38 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
第二个灵魂 该用户已被删除
8#
发表于 2015-3-13 01:08:18 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
小魔女 该用户已被删除
9#
发表于 2015-3-20 08:16:33 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 11:40

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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