快捷搜索:

用Asp读取网页源代码

用Asp读取网页源代码

  怎么查找asp源码信息记录查询表格数据知道asp源码怎样生成一个网址文件夹=字符和字符,结果得到数组splitres,其中的每一个元素都是以图形路径文件名开头的数组;用for循环在屏幕上输出每个数组的第一个元

  默认情况下,表达式中的字母是要区分大小写的。配置为Ignorecase可使匹配时不区分大小写。有的表达式引擎,把大小写概念延伸至UNICODE范围的大小写。

  前面的章节中,我讲到了几个代表抽象意义的特殊符号:^,$,\b。它们都有一个共同点,那就是:它们本身不匹配任何字符,只是对字符串的两头或者字符之间的缝隙附加了一个条件。理解到这个概念以后,本节将继续介绍另外一种对两头或者缝隙附加条件的,更加灵活的表示方法。

  下_,在@之后有数节字串,最后的小数点后只能有二个或三个小写英文字母。如 就可以

  举例2:表达式bcd,在匹配字符串abcde时,匹配结果是:成功;匹配到的内容是:bcd;匹配到的位置是:开始于1,结束于4。

  一些不便书写的字符,采用在前面加\的方法。这些字符其实我们都已经熟知了。

  还有其他一些在后边章节中有特殊用处的标点符号,在前面加\后,就代表该符号本身。比如:^, $都有特殊意义,如果要想匹配字符串中^和$字符,则表达式就需要写成\^和\$。

  下_,在@之后有数节字串,最后的小数点后只能有二个或三个小写英文字母。如r.net, 就可以

  该段程序的设计思路是:PHP程式判断是否输入了档案名称(网址URL或本机档案名),若不为空则以只读方式打开该档案;接着使用函式fge

  进一步说明:\b与^和$类似,本身不匹配任何字符,但是它要求它在匹配结果中所处位置的左右两边,其中一边是\w范围,另一边是非\w的范围。

   ShowAllPages ---是否用下拉列表显示所有页面以供跳转。有某些页面不能使用,否则会出现JS错误。

  前面章节中讲到的表达式,无论是只能匹配一种字符的表达式,还是可以匹配多种字符其中任意一个的表达式,都只能匹配一次。如果使用表达式再加上修饰匹配次数的特殊符号,那么不用重复书写表达式就可以重复匹配。

  在使用ASP来进行后端的数据合法性校验的时候,有些人为满足不同环境下面的数据校验,编写了很多的函数来实现,比如,我们想要校验用户输入的URL 地址是否合法,是可以自己编写一段代码来逐个逐个字符的分析用户输入的信息,要分析的信息量小了,那还比较好办,若是分析的条件千变万化,那可就惨了,不但要编写很长很繁琐的代码,而且运行的效率极其低下,有没有好的解决办法呢?有,那就是VBScritp5.0提供的“正则表达式”对象,只要你的服务器安装了IE5.x,就会带VBScript5.0。其实,“正则表达式”原本是Unix下面的专利,尤其是在Perl语言中使用的最为广泛,正是由于“正则表达式”的强大功能,才使得微软慢慢将正则表达式对象移植到了视窗系统上面,利用

  简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。在网络编程中应用广泛,如PHP脚本语言或是JavaScript、VBScri

  pt这样的客户端脚本语言都提供了对正则表达式的支持。由此可见,正则表达式已经超出了某种语言或某个系统的局限,成为人们广为接受的概念和功能。

  正则表达式可以让用户通过使用一系列的特殊字符构建匹配模式,然后把匹配模式与数据文件、程序输入以及WEB页面的表单输入等目标对象进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。

  设置:在书写正则表达式的模式时使用了特殊的字符和序列。下表描述了可以使用的字符和序列,并给出了实例。

  3、为了目前的安全,本病毒只是在病毒所在的目录下随机选一个文件感染,你可以利用此功能来调试;将来你可以修改,让它不断的循环搜索计算机上的所有文件。

  这两种格式的概念和正向预搜索是类似的,反向预搜索要求的条件是:所在缝隙的左侧,两种格式分别要求必须能够匹配和必须不能够匹配指定表达式,而不是去判断右侧。与正向预搜索一样的是:它们都是对所在缝隙的一种附加条件,本身都不匹配任何字符。

  还有一些在各个正则表达式引擎之间比较通用的规则,在前面的讲解过程中没有提到。3.1表达式中,可以使用\xXX和\uXXXX表示一个字符(X表示一个十六进制数)

  现在我们正式进入则表达式的学习,我会根据实例结合讲解正则表达式的用法,看完后你就会觉得写UBB代码如此简单了,只要你一步一步

  的跟着我学看完本文章后你就成为UBB高手了。激动人心的就是你能写出自已的UBB标签来了,再也不用到别人那里去拷贝现成的代码和模板了

  Const adLockOptimistic = 3 只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等

  匹配非单词边界,即左右两边都是\w范围或者左右两边都不是\w范围时的字符缝隙

  输入正确的网址,提交后表单信息被送到abstractSRCfrompage.php3页面,由于表单本身就在该页面,所以相当于被送到自身页面,下面

  4.6合理选择贪婪模式与非贪婪模式,参见线;的左右两边,对某个字符最好只有一边可以匹配,这样,不会因为两边的表达式因为交换位置而有所不同。

  [前言:]在我们编写WEB程序时,经常会判断一个字符串的有效性,如;一个串是否是数字、是否是有效的Email地址等等。如果不使用正则表达式,那么判断的程序会很长,并且容易出错,如果使用正则表达式,这些判断就是一件很轻松的工作了。本文全面介绍正则表达式的慨念、格式。并以在PHP、ASP中的应用实例增加读者的感性认识。正则表达式的应用很广,需要大家在学习和实践中不断的总结。

  当按下提交按钮后,首先运行verifyAddress()函式,进行匹配识别,如果满足条件则发送表单信息到目标页面,否则返回错误信息。

  事实上,正则表达式的功能远非本文提到的这一点,下次,给大家介绍一种使用正则表达式从任意指定网页中析取任意种类文本信息(如

  4.5能匹配空字符串的子匹配不要循环无限次。如果括号内的子表达式中的每一部分都可以匹配0次,而这个括号整体又可以匹配无限次,那么情况可能比上一条所说的更严重,匹配过程中可能死循环。虽然现在有些正则表达式引擎已经通过办法避免了这种情况出现死循环了,比如.NET的正则表达式asp教程,但是我们仍然应该尽量避免出现这种情况。如果我们在写表达式时遇到了死循环,也可以从这一点入手,查找一下是否是本条所说的原因。

  面必须跟一个单词字符,紧接着单词字符后面的是.(这样的组合必须出现一次或多次)。紧跟着.后面的是域名后缀(如

  出现完整的链接地址后,还可以出现下一级或者更多级的目录(还要注意个人主页的地址有可能出现~符号)

  用文本编辑器新建一个PHP类型的文件:abstractSRCfrompage.php3。为了方便讲解,我们打算是在浏览器表单域中输入需要析取image标签的

  file://二次拆分,用拆分。因为文件名能含有,得到的拆分数组的第一个元素就是路径文件名了;

  4.3如果要求匹配的内容是一个完整的单词,而不会是单词的一部分,那么在表达式首尾使用\b,比如:使用\b(ifwhileelsevoidint……)\b来匹配程序中的关键字。

  4.4表达式不要匹配空字符串。否则会一直得到匹配成功,而结果什么都没有匹配到。比如:准备写一个匹配123、123.、123.5、.5这几种形式的表达式时,整数、小数点、小数数字都可以省略,但是不要将表达式写成:\d*\.?\d*,因为如果什么都没有,这个表达式也可以匹配成功。更好的写法是:\d\.?\d*\.\d。

  file://拆分,第一次用标签,<img ...src=拆分,得到了以图形文件名开头的数组,

  格式:(?!xxxxx),所在缝隙的右侧,必须不能匹配xxxxx这部分表达式。

  网页的URL(或本机文档),提交后执行析取操作,所以在该文件中,我们要建立一个用于输入网址的表单,举例如下:

  其实,小括号包含的表达式所匹配到的字符串不仅是在匹配结束后才可以使用,在匹配过程中也可以使用。表达式后边的部分,可以引用前面括号内的子匹配已经匹配到的字符串。引用方法是\加上一个数字。\1引用第1对括号内匹配到的字符串,\2引用第2对括号内匹配到的字符串……以此类推,如果一对括号内包含另一对括号,则外层的括号先排序号。换句话说,哪一对的左括号(在前,那这一对就先排序号。

  接下来我们仔细分析一下这个模板,首先“\w”表示邮件的开始字符只能是包含下划线的单词字符,这样,满足了第三个条件;“[@]{1}”表示在电子邮件中应当匹配并且只能匹配一次字符“@”,满足了条件一;同样的“[.]{1,3}”表示在电子邮件中至少匹配1个至多匹配3个字符“.” ,满足了第二个条件;模板最后的“(\w)”表示结尾的字符只能是包含下划线在内的单词字符,满足了条件五;模板中间的“(\w)”满足了条件四。

  举例来说,正则表达式的一个最为普遍的应用就是用于验证用户在线输入的邮件地址的格式是否正确,如果通过正则表达式验证用户邮件

  地址的格式正确,用户所填写的表单信息将会被正常处理;反之,如果用户输入的邮件地址与正则表达的模式不匹配,将会弹出提示信息,要

  求用户重新输入正确的邮件地址。由此可见正则表达式在WEB应用的逻辑判断中具有举足轻重的作用。在后面我们会举例详细介绍。

  举例1:表达式\$d,在匹配字符串abc$de时,匹配结果是:成功;匹配到的内容是:$d;匹配到的位置是:开始于3,结束于5。

  正则表达式中的一些表示方法,可以匹配多种字符其中的任意一个字符。比如,表达式\d可以匹配任意一个数字。虽然可以匹配其中任意字符,但是只能是一个,不是多个。这就好比玩扑克牌时候,大小王可以代替任意一张牌,但是只能代替一张牌。

  这里用了(.)来配匹到之间的整个字符串,在替代的时候我们要写成这样

  (注意:checkexp是我自定义的函数,将在后面给出。这个函数将把按照我们提供的模板进行替代。)

  也许你会问这里出现一个$2是什么东东,呵注意了这个$2可是很重要的,它代表了(.)所配匹的整个字符串。

  表示都匹配(在这里考虑了某些用户可能把//输成\\的易发性错误)

  这个例子是可对使用者输入的E-Mail作简单的检查,检查使用者的E-Mail字串是否有@字元,在@字元前有小写英文字母、数字或

  嵌入式脚本语言Javascript或许是好的选择。JavaScript中带有一个功能强大的RegExp()对象,可以用来进行正则表达式的匹配操作。其中的t

  est()方法可以检验目标对象中是否包含匹配模式,并相应的返回true或false。只须在HTML文档的<head>区域添加一段Javascript代码。

  说明:正则表达式搜索的设计模式是通过 RegExp 对象的 Pattern 来设置的。Execute 方法返回一个

  上篇,我们介绍了正则表达式的概念及其在网络编程中使用正则表达式验证用户在线输入的邮件地址以及网址的格式是否正确的应用实例

  ,今天介绍一种从指定网页源文件中析取image标签的的编程技巧,即从网页源文件中,解析出所有的插图文件名(包括图片路径),也就是标

  这样,我们只要定制不同的模板,就可以实现对不同数据的合法性校验了。所以,正则表达式对象中最重要的属性就是:“Pattern”属性,只要真正掌握了这个属性,才可以自由的运用正则表达式对象来为我们的数据校验进行服务。

  表达式在匹配时,表达式引擎会将小括号( )包含的表达式所匹配到的字符串记录下来。在获取匹配结果的时候,小括号包含的表达式所匹配到的字符串可以单独获取。这一点,在前面的举例中,已经多次展示了。在实际应用场合中,当用某种边界来查找,而所要获取的内容又不包含边界时,必须使用小括号来指定所要的范围。比如前面的td(.*?)/td。

  [前言:]在我们编写WEB程序时,经常会判断一个字符串的有效性,如;一个串是否是数字、是否是有效的Email地址等等。如果不使用正则表达式,那么判断的程序会很长,并且容易出错,如果使用正则表达式,这些判断就是一件很轻松的工作了。本文全面介绍正则表达式的慨念、格式。并以在PHP、ASP中的应用实例增加读者的感性认识。正则表达式的应用很广,需要大家在学习和实践中不断的总结。

  上篇,我们介绍了正则表达式的概念及其在网络编程中使用正则表达式验证用户在线输入的邮件地址以及网址的格式是否正确的应用实例

  ,今天介绍一种从指定网页源文件中析取image标签的的编程技巧,即从网页源文件中,解析出所有的插图文件名(包括图片路径),也就是标

  用文本编辑器新建一个PHP类型的文件:abstractSRCfrompage.php3。为了方便讲解,我们打算是在浏览器表单域中输入需要析取image标签的

  默认情况下,小数点.匹配除了换行符(\n)以外的字符。配置为Singleline可使小数点可匹配包括换行符在内的所有字符。

  默认情况下,表达式^和$只匹配字符串的开始①和结尾④位置。如:

  配置为Multiline可以使^匹配①外,还可以匹配换行符之后,下一行开始前③的位置,使$匹配④外,还可以匹配换行符之前,一行结束②的位置。

  \num :匹配 num个,其中 num 为一个正整数。引用回到记住的匹配。例如,(.)\1匹配两个连续的相同的字符。

  正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来:(1)检查一个串中是否含有符合某个规则的子串,并且可以得到这个子串;(2)根据匹配规则对字符串进行灵活的替换操作。

  正则表达式学习起来其实是很简单的,不多的几个较为抽象的概念也很容易理解。之所以很多人感觉正则表达式比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难;另一方面,各种引擎自带的文档一般都要介绍它特有的功能,然而这部分特有的功能并不是我们首先要理解的。

  其中,pattern代表正则表达式的模式;而string则是执行查找替换操作的目标对象,如Email地址值。本函式以pattern的规则来剖析比

  对字串string,找到则传回值为true。函式ereg()与eregi()的区别就是前者区分大小写,后者与大小写无关。使用PHP编写的程序代码如下

  ts(fp,length)取得档案指标fp所指的行并传回该行内长度为length-1的字串,上例中就是1024-1=1023;然后利用字串比对剖析函式ereg()查

  这样的标记(关于该函式在上篇中有详细的介绍);假如找到的话,则利用split()函式按一定的规则执行两次拆分,去掉标记中的<img...src

  或许有人会问了,使用运行在客户端的JavaScript不是可以更好更快的来校验用户的数据吗?的确,这样在大多的情况下是可以的,为什么是大多情况下呢?因为你编写的JavaScript不一定可以完全正常的同时运行在IE以及Netscape上面,因为微软的Jscript并不全和JavaScript相同,再加上还有一些浏览器不一定和微软以及Netscape兼容的很好,所以很有可能在客户端的Javascript不会精确的校验用户输入的各种数据,而ASP程序是运行在服务器端的,只是和你的服务器的环境有关,无论客户端是什么浏览器,对于你的ASP程序来说都是没有分别的,所以选择使用后端的ASP程序来进行数据合法性的校验是一个好的选择。

  匹配输入字符串的开始位置。要匹配^字符本身,请使用\^

  匹配输入字符串的结尾位置。要匹配$字符本身,请使用\$

  标记一个子表达式的开始和结束位置。要匹配小括号,请使用\(和\)

  4.1如果想要了解高级的正则引擎还支持那些复杂的正则语法,可参见本站DEELX正则引擎的说明文档。

  4.2如果要要求表达式所匹配的内容是整个字符串,而不是从字符串中找一部分,那么可以在表达式的首尾使用^和$,比如:^\d$要求整个字符串只有数字。

  下面是我写的一个UBB函数,这个函数基本上能使你的论坛成为一个优秀的UBB代码论坛了。当然,通过改进后,你可以得到一个更强大的U

  在对正则表达式有了较为全面的了解之后,就可以在Perl,PHP,以及ASP等程式中使用正则表达式了。

  下面以PHP语言为例,使用验证用户在线输入的邮件地址以及网址的格式是否正确。PHP提供了eregi()或ereg()资料处理函数实现字串比

  除了我们以上的元字符之外,正则表达式中还具有另外一种较为独特的专用字符,即定位符。定位符用于规定匹配模式在目标对象中的出

  如果我们希望在正则表达式中实现类似编程逻辑中的或运算,在多个不同的模式中任选一个进行匹配的线;(?=xxxxx),在被匹配的字符串中,它对所处的缝隙或者两头附加的条件是:所在缝隙的右侧,必须能够匹配上xxxxx这部分的表达式。因为它只是在此作为这个缝隙上附加的条件,所以它并不影响后边的表达式去真正匹配这个缝隙之后的字符。这就类似\b,本身不匹配任何字符。\b只是将所在缝隙之前、之后的字符取来进行了一下判断,不会影响后边的表达式来线;返回值:“上一页下一页”等信息的HTML代码

  好了,常用的方法和属性就是这些了,上面的语法介绍的已经很详细了,我们就没有必要在罗嗦了,接下来我们来看看在具体的例子里面如何使用这些方法和属性来校验数据的合法性,我们还是举个例子吧,比如,我们想要对用户输入的电子邮件进行校验,那么,什么样的数据才算是一个合法的电子邮件呢?我可以这样输入:,当然我也会这样输入:.cn,但是这样的输入就是非法的:xxx@@com.cn或者等等,所以我们得出一个合法的电子邮件地址至少应当满足以下几个条件:

  file://拆分,第一次用标签,<img ...src=拆分,得到了以图形文件名开头的数组,

  描述:设置或返回被搜索的正则表达式模式。 这是一个最重要的属性,我们主要是设置这个属性来实现数据校验的。

  searchstring:可选的。被搜索的正则字符串表达式。它可能包含设置部分表格中的各种正则表达式字符。

  说明:正则表达式搜索的实际模式是通过RegExp对象的Pattern属性来设置的。RegExp.Global属性对Test方法没有影响。如果找到了匹配的模式,Test方法返回True;否则返回False。

  该段程序的设计思路是:PHP程式判断是否输入了档案名称(网址URL或本机档案名),若不为空则以只读方式打开该档案;接着使用函式fge

  在使用修饰匹配次数的特殊符号时,有几种表示方法可以使同一个表达式能够匹配不同的次数,比如:{m,n}, {m,}, ?, *, ,具体匹配的次数随被匹配的字符串而定。这种重复匹配不定次数的表达式在匹配过程中,总是尽可能多的匹配。比如,针对文本dxxxdxxxd,举例如下:

  ((\w)[.]){1,}表示一个单词字符加一个点号可以出现1次或者多次(这里考虑了某些用户喜欢省略www而将写成

  描述:对指定的字符串执行一个正则表达式搜索,并返回一个 Boolean 值指示是否找到匹配的模式。

  \n:匹配 n,其中n 是一个八进制换码值。八进制换码值必须是 1, 2 或 3 个数字长。

  其中,pattern代表正则表达式的模式;而string则是执行查找替换操作的目标对象,如Email地址值。本函式以pattern的规则来剖析比

  对字串string,找到则传回值为true。函式ereg()与eregi()的区别就是前者区分大小写,后者与大小写无关。使用PHP编写的程序代码如下

  。还好VBScritp5.0给我们提供了正则表达式对象,只要你的服务器安装了IE5.x,就可以运行了.

  如果有兴趣,你可以尝试析取HTML文档中的任意感兴趣的信息,如果稍加改装,做一个网站文本搜索引擎岂不更妙?

  UBB代码是HTML的一个变种。一般情况下,UBB论坛不允许你使用HTML代码,而只能用UBB代码替代HTML代码。

  UBB代码是一套由流行的UBB标签组成了固定代码,代码有统一的格式。用户只要遵循代码规则就可以实现用户想要的功能。如:

  正则表达式中还有一个较为常用的运算符,即否定符[^]。与我们前文所提到的定位符^不同,否定符[^]规定目标对象中不能存

  最后,当用户需要在正则表达式的模式中加入元字符,并查找其匹配对象时,可以使用转义符\。例如:/Th\*/,该正则表达式将会与目

  在修饰匹配次数的特殊符号后再加上一个?号,则可以使匹配次数不定的表达式尽可能少的匹配,使可匹配可不匹配的表达式,尽可能的不匹配。这种匹配原则叫作非贪婪模式,也叫作勉强模式。如果少匹配就会导致整个表达式匹配失败的时候,与贪婪模式类似,非贪婪模式会最小限度的再匹配一些,以使整个表达式匹配成功。举例如下,针对文本dxxxdxxxd举例:

  输入正确的网址,提交后表单信息被送到abstractSRCfrompage.php3页面,由于表单本身就在该页面,所以相当于被送到自身页面,下面

  字母、数字、汉字、下划线、以及后边章节中没有特殊定义的标点符号,都是普通字符。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。

  举例1:表达式c,在匹配字符串abcde时,匹配结果是:成功;匹配到的内容是:c;匹配到的位置是:开始于2,结束于3。(注:下标从0开始还是从1开始,因当前编程语言的不同而可能不同)

  我们知道,链接地址一般以http或者https或者ftp等形式出现。初步总结一下就是,链接地址必须符合如下条件:

  然后,我们就直接调用刚才的那个函数CheckExp((\w)[@]{1}(\w)[.]{1}(\w),待校验的字符串)就好了,如果返回True就表示数据是合法的,否则就是不正确的,怎么样,简单吧。我们还可以写出来校验身份证号码的模板:([0-9]){15};校验URL的模板:^等等;我们可以看到,这些模板为我们提供了很好的可重利用的模块,利用自己或者别人提供的各种模板,我们就可以方便快捷的进行数据的合法性校验了,相信你一定会写出非常通用的模板的。

  当按下提交按钮后,首先运行verifyAddress()函式,进行匹配识别,如果满足条件则发送表单信息到目标页面,否则返回错误信息。

  事实上,正则表达式的功能远非本文提到的这一点,下次,给大家介绍一种使用正则表达式从任意指定网页中析取任意种类文本信息(如

  举例5:表达式TomJack在匹配字符串Im Tom, he is Jack时,匹配结果是:成功;匹配到的内容是:Tom;匹配到的位置是:开始于4,结束于7。匹配下一个时,匹配结果是:成功;匹配到的内容是:Jack;匹配到的位置时:开始于15,结束于19。

  举例2:表达式(\w)((?=\1\1\1)(\1))在匹配字符串aaa ffffff 999999999时,将可以匹配6个f的前4个,可以匹配9个9的前7个。这个表达式可以读解成:重复4次以上的字母数字,则匹配其剩下最后2位之前的部分。当然,这个表达式可以不这样写,在此的目的是作为演示之用。

  把上面的组合起来,我们就可以匹配一个比较全面的链接地址了。比用简单的(http:\/\/\S)来匹配一个链接地址要好,读者可以自行

  [a-z] :表示某个范围内的字符。与指定区间内的任何字符匹配。例如,[a-z]匹配a与z之间的任何一个小写字母字符。

  =字符和字符,结果得到数组splitres,其中的每一个元素都是以图形路径文件名开头的数组;用for循环在屏幕上输出每个数组的第一个元

  由此可见,\w在匹配的时候,总是尽可能多的匹配符合它规则的字符。虽然第二个举例中,它没有匹配最后一个d,但那也是为了让整个表达式能够匹配成功。同理,带*和{m,n}的表达式都是尽可能地多匹配,带?的表达式在可匹配可不匹配的时候,也是尽可能的要匹配。这种匹配原则就叫作贪婪模式。

  e的第一个元素值(为找到的一个图形路径文件名),当执行下次循环时,删除变量imgname,达到重复使用的目的。大家可以仔细研究其中的

  好了,写好后,将abstractSRCfrompage.php3存到你的服务器指定目录下,启动Apache服务器,在浏览器中打开它,随便输入一个存在的

  我们在制作网站的时候,尤其是各种电子商务网站,首先都会让用户填写一些表格来获取注册用户的各种信息,因为用户有可能输入各式各样的信息,而有些不符合要求的数据会给我们的后端ASP处理程序带来不必要的麻烦,甚至导致网站出现一些安全问题。因此我们在将这些信息保存到网站的数据库之前,要对这些用户所输入的信息进行数据的合法性校验,以便后面的程序可以安全顺利的执行。所以我们一般会在后端编写一个ASP的校验程序来分析用户输入的数据是否是合法的。

  举例1:表达式\d\d,在匹配abc123时,匹配的结果是:成功;匹配到的内容是:12;匹配到的位置是:开始于3,结束于5。

  网页的URL(或本机文档),提交后执行析取操作,所以在该文件中,我们要建立一个用于输入网址的表单,举例如下:

  举例2:表达式a.\d,在匹配aaa100时,匹配的结果是:成功;匹配到的内容是:aa1;匹配到的位置是:开始于1,结束于4。

  使用方括号[ ]包含一系列字符,能够匹配其中任意一个字符。用[^ ]包含一系列字符,则能够匹配其中字符之外的任意一个字符。同样的道理,虽然可以匹配其中任意一个,但是只能是一个,不是多个。

  正则表达式形式一般如:/love/,其中位于/定界符之间的部分就是将要在目标对象中进行匹配的模式。用户只要把希望查找匹配对象的

  模式内容放入/定界符之间即可。为了能够使用户更加灵活的定制模式内容,正则表达式提供了专门的元字符。所谓元字符就是指那些在正

  则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。较为常用的元字符包括:,*,?以及{},或者\s,\S,\d,\w和\W等等。为了能够方便用户更加灵活的设定匹配模式,正则表达式允许使用者在匹配模式中利用[]界定匹配于某一个范围的字符而不局限于具体的字符。

  注意:最后还有一个*表示上面括号内的可以出现也可以不出现,否则就只能匹配有下一级目录的链接地址了。

  着网站访问量的加大,每次从数据库读取都是以效率作为代价的,很多用ACCESS作数据库的更会深有体会,静态页加在搜索时,也会被优先考虑。互联网上流行的做法是将数据源代码写入数据库再从数据库读取生成静态面,这样无形间就加大了数据库。将现有的ASP页直接生成静态页,将会节省很多。

  Const adOpenKeyset = 1 键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark

  Const adOpenDynamic = 2 动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览(ACCESS不支持)。

  这个例子是可对使用者输入的E-Mail作简单的检查,检查使用者的E-Mail字串是否有@字元,在@字元前有小写英文字母、数字或

  file://二次拆分,用拆分。因为文件名能含有,得到的拆分数组的第一个元素就是路径文件名了;

  在对正则表达式有了较为全面的了解之后,就可以在Perl,PHP,以及ASP等程式中使用正则表达式了。

  下面以PHP语言为例,使用验证用户在线输入的邮件地址以及网址的格式是否正确。PHP提供了eregi()或ereg()资料处理函数实现字串比

  简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。在网络编程中应用广泛,如PHP脚本语言或是JavaScript、VBScript这样的客户端脚本语言都提供了对正则表达式的支持。由此可见,正则表达式已经超出了某种语言或某个系统的局限,成为人们广为接受的概念和功能。正则表达式可以让用户通过使用一系列的特殊字符构建匹配模式,然后把匹配模式与数据文件、程序输入以及WEB页面的表单输入等目标对象进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。举例来说,正则表达式的一个最为普遍的应用就是用于验证用户在线输入的邮件地址的格式是否正确,如果通过正则表达式验证用户邮件地址的格式正确,用户所填写的表单信息将会被正常处理;反之,如果用户输入的邮件地址与正则表达的模式不匹配,将会弹出提示信息,要求用户重新输入正确的邮件地址。由此可见正则表达式在WEB应用的逻辑判断中具有举足轻重的作用。在后面我们会举例详细介绍。正则表达式形式一般如:/love/,其中位于/定界符之间的部分就是将要在目标对象中进行匹配的模式。用户只要把希望查找匹配对象的模式内容放入/定界符之间即可。为了能够使用户更加灵活的定制模式内容,正则表达式提供了专门的元字符。所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。较为常用的元字符包括:,*,?以及{},或者\s,\S,\d,\w和\W等等。为了能够方便用户更加灵活的设定匹配模式,正则表达式允许使用者在匹配模式中利用[]界定匹配于某一个范围的字符而不局限于具体的字符。除了我们以上的元字符之外,正则表达式中还具有另外一种较为独特的专用字符,即定位符。定位符用于规定匹配模式在目标对象中的出现位置。较为常用的定位符包括:^, $, \b以及\B。如果我们希望在正则表达式中实现类似编程逻辑中的或运算,在多个不同的模式中任选一个进行匹配的线;。例如:正则表达式中还有一个较为常用的运算符,即否定符[^]。与我们前文所提到的定位符^不同,否定符[^]规定目标对象中不能存在模式中所规定的字符串。一般来说,当^出现在[]内时就被视做否定运算符;而当^位于[]之外,或没有[]时,则应当被视做定位符。最后,当用户需要在正则表达式的模式中加入元字符,并查找其匹配对象时,可以使用转义符\。例如:/Th\*/,该正则表达式将会与目标对象中的Th*而非The等相匹配。正则表达式的语法规则和标记现在我们正式进入则表达式的学习,我会根据实例结合讲解正则表达式的用法,看完后你就会觉得写UBB代码如此简单了,只要你一步一步的跟着我学看完本文章后你就成为UBB高手了。激动人心的就是你能写出自已的UBB标签来了,再也不用到别人那里去拷贝现成的代码和模板了。还好VBScritp5.0给我们提供了正则表达式对象,只要你的服务器安装了IE5.x,就可以运行了.字符描述:^符号匹配字符串的开头。例如:^abc与abc xyz匹配,而不与xyz abc匹配$符号匹配字符串的结尾。例如:

  ts(fp,length)取得档案指标fp所指的行并传回该行内长度为length-1的字串,上例中就是1024-1=1023;然后利用字串比对剖析函式ereg()查

  这样的标记(关于该函式在上篇中有详细的介绍);假如找到的话,则利用split()函式按一定的规则执行两次拆分,去掉标记中的<img...src

  嵌入式脚本语言Javascript或许是好的选择。JavaScript中带有一个功能强大的RegExp()对象,可以用来进行正则表达式的匹配操作。其中的t

  est()方法可以检验目标对象中是否包含匹配模式,并相应的返回true或false。只须在HTML文档的<head>区域添加一段Javascript代码。

  在这段程序程序中,我们看到可以使用“New RegExp”来得到一个正则表达式对象,然后对这个对象进行正则匹配模板的赋值,也就是告诉正则表达式对象,你想要匹配一个什么样子的模板,然后使用方法Test来检测待处理的数据究竟和我们给出的模版是否相匹配,如果不匹配,那就表明待处理的数据不是合法的数据,从而也就实现了数据合法性的校验,我们可以看出,使用一个设计合理的匹配模板,我们可以轻松的校验一批格式类似的数据信息。 当然,VBScript5.0中的“正则表达式”对象还有很多的其他的方法和属性,比如方法Replace(),利用他我们就可以很快的实现现在网上很时髦的UBB风格的论坛以及BBS,这不在我们讨论范围之内,以后再加以论述,我们现在就看看在数据校验方面正则表达式对象常用的方法和属性:

  描述:设置或返回一个 Boolean 值,该值指明在整个搜索字符串时模式是全部匹配还是只匹配第一个。

  object 参数总是 RegExp 对象。如果搜索应用于整个字符串,Global 属性的值为 True,否则其值为 False。默认的设置为 True。

  \s :与任何白字符匹配,包括空格、制表符、分页符等。等价于[ \f\n\r\t\v]。

  Const adOpenStatic = 3 静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动

您可能还会对下面的文章感兴趣: