中国站长下载-为中国站长提供最好最全的建站资源! 首 页发布资源有事留言繁體中文
设为首页
加入收藏
联系我们
 
您当前的位置:中国站长下载 -> 文章中心 -> 网页编程 -> .NET编程 -> 文章内容  虚拟主机 域名注册 退出登录 用户管理
栏目导航
· ASP编程 · .NET编程
· PHP编程 · JSP编程
· CGI 专区
热门文章
· sndvol32 - sndvol3...
· [组图] FLASH:《大话李白》...
· 个人网站到底能赚多...
· [图文] Rundll.exe是病毒吗...
· [组图] Flash:制作MV
· 价值12万元的网站SE...
· 网站创业者,你需要...
· 一个成功的网站设计...
· [图文] FLASH:韩国导航条解...
· 中国网站的赚钱模式...
相关文章
· PHP编程技巧:看实例...
· PHP一些常用的正则表...
· PHP编程技巧:看实例...
· PHP编程技巧:看实例...
· 正则表达式语法
· 正则表达式在网页处...
· 正则表达式在网页处...
· 正则表达式在网页处...
· .NET下正则表达式应...
· .NET正则表达式使用...
正则表达式在网页处理中的应用四则(1)
作者:不详  来源:不详  发布时间:2006-8-14 8:50:29  发布人:chinazhan

 减小字体 增大字体

     正则表达式(Regular Expression)为字符串模式匹配提供了一种高效、方便的方法。几乎所有高级语言都提供了对正则表达式的支持,或者提供了现成的代码库供调用。本文以ASP环境中常见的处理任务为例,介绍正则表达式的应用技巧。
  
    一、检验密码和邮件地址的格式
  
    我们的第一个实例示范正则表达式的一项基本功能:抽象地描述任意复杂的字符串。它的意思就是,正则表达式给予程序员一种形式化的字符串描述方法,只需很少的代码即可描述出应用遇到的任意字符串模式。例如,对于不从事技术工作的人来说,密码格式的要求可以描述如下:密码的第一个字符必须是字母,密码最少4个字符且不超过15个字符,密码不能包含除字母、数字和下划线以外的字符。
  
    作为程序员,我们必须把上面对密码格式的自然语言描述转换成其他形式,使得ASP页面能够理解并应用它来防止非法的密码输入。描述这个密码格式的正则表达式是:^[a-zA-Z]\w{3,14}$。
  
    在ASP应用里,我们可以把密码验证过程写成可重用的函数,如下所示:
  
  Function TestPassword(strPassword)
  Dim re
  Set re = new RegExp
  
  re.IgnoreCase = false
  re.global = false
  re.Pattern = "^[a-zA-Z]\w{3,14}$"
  
  TestPassword = re.Test(strPassword)
  End Function
  
    下面我们把这个检验密码格式的正则表达式和自然语言描述对比着看看:
  
    密码的第一个字符必须是字母:正则表达式描述是“^[a-zA-Z]”,其中“^”表示字符串的开始,连字符告诉RegExp匹配指定范围的所有字符。
  
    密码最少4个字符且不超过15个字符:正则表达式描述是“{3,14}”。
  
    密码不能包含除字母、数字和下划线以外的字符:正则表达式描述是“\w”。
  
    几点说明:{3,14}表示前面的模式匹配至少3个、但不超过14个的字符(加上第一个字符就成了4到15个字符)。注意花括号内的语法要求极其严格,不允许在逗号的两边加入空格。如果加入了空格,它将对正则表达式的含义产生影响,导致密码格式检验时产生错误。另外,上面的正则表达式末尾也没有加上“$”字符。$字符使得正则表达式匹配字符串直至末尾,确保合法的密码后面没有加上任何其他字符。
  
    类似于密码格式检验,检查email地址的合法性也是一个很常见的问题,用正则表达式进行简单的email地址检验可以实现如下:
  
  <%
  Dim re
  Set re = new RegExp
  
  re.pattern = "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"
  Response.Write re.Test("aabb@yahoo.com")
  %>
  
    二、提取HTML页面的特定部分
  
    从HTML页面提取内容所面临的主要问题是,我们必须寻找一种方法精确地识别出自己想要的那一部分内容。例如,下面是一个显示新闻标题的HTML代码片断:
  
  <table border="0" width="11%" class="Somestory">
  <tr>
  <td width="100%">
  <p align="center">其他内容...</td>
  </tr>
  </table>
  <table border="0" width="11%" class="Headline">
  <tr>
  <td width="100%">
  <p align="center">伊拉克战争!</td>
  </tr>
  </table>
  <table border="0" width="11%" class="Someotherstory">
  <tr>
  <td width="100%">
  <p align="center">其他内容...</td>
  </tr>
  </table>
  
    观察上述代码,很容易看出新闻标题由位于中间的表格显示,它的class属性设置为Headline。如果HTML页面非常复杂,使用Microsoft IE从5.0开始提供的一项附加功能可以只查看被选中部分页面的HTML代码,请访问http://www.microsoft.com/Windows/ie/WebAccess/default.ASP了解详情。对于本例,我们假定这是唯一class属性设置为Headline的表格。现在我们要创建正则表达式,通过正则表达式找到这个Headline表格并把这个表格包含到自己的页面中。首先是编写支持正则表达式的代码:
  
    做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。

 
[] [返回上一页] [打 印] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
中国站长下载
中国站长下载

本页只接受PR>=4 IT类站点连接,申请连接,谢谢您们的支持!希望我们的下载站能够真正帮到中国的站长们!
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图
Copyright © 2005-2006 ChinaZhan.Net. All Rights Reserved .