正則表达式在网页处理中的应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
正則表达式在网页处理中的应用

正则表达式在网页处理中的应用 正则表达式(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@) %> 二、提取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代码,请访问/Windows/ie/WebAccess/default.ASP了解详情。对于本例,我们假定这是唯一class属性设置为Headline的表格。现在我们要创建正则表达式,通过正则表达式找到这个Headline表格并把这个表格包含到自己的页面中。首先是编写支持正则表达式的代码: <% Dim re, strHTML Set re = new RegExp 创建正则表达式对象 re.IgnoreCase = true re.Global = false 第一次匹配之后

文档评论(0)

s4as2gs2cI + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档