正则表达式在网页处理中的应用四则

这篇具有很好参考价值的文章主要介绍了正则表达式在网页处理中的应用四则。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

正则表达式在网页处理中的应用四则

正则表达式(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代码片断:文章来源地址https://www.toymoban.com/news/detail-672183.html

到了这里,关于正则表达式在网页处理中的应用四则的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VBA之正则表达式(43)-- 从网页中提取指定数据

    实例需求:由网页中提取下图中颜色标记部分内容,网页中其他部分与此三行格式相同。 【代码解析】 第6行代码创建正则对象。 第7行代码设置正则匹配模式。 正则表达式 说明 id=[^]+ 匹配以 id= 开头,后面跟一个或者多个除 之外的任意字符 [^]+#[^]+ 匹配以一个或者多个除

    2024年02月07日
    浏览(53)
  • 【自然语言处理】NLP入门(一):1、正则表达式与Python中的实现(1):字符串构造、字符串截取

       语言 是一种使用具有共同处理规则的沟通指令的广义概念,这些指令可以通过视觉、声音或触觉等方式传递。语言可以分为自然语言、动物语言和计算机语言。    自然语言 是人类发展过程中形成的一种信息交流方式,它包括口语和书面语,并且反映了人类的思想。

    2024年03月12日
    浏览(146)
  • 正则表达式应用场景

    数据验证应该是正则表达式最常见的场景了,经常用于用户的输入是否符合所需的条件。数据验证可确保输入或导入的数据准确、一致,并符合预定义的规则。 验证手机号: 验证邮箱: 验证密码(要求:至少包含一个数字,一个字母,一个特殊字符,长度在8~18之间): 验

    2024年02月08日
    浏览(44)
  • 正则表达式应用

    正则匹配以{开头,以}结尾 正则匹配以[开头,以]结尾 校验数字的表达式 数字: ^[0-9]*$ n位的数字: ^d{n}$ 至少n位的数字: ^d{n,}$ m-n位的数字: ^d{m,n}$ 零和非零开头的数字: ^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字: ^([1-9][0-9]*)+(.[0-9]{1,2})?$ 带1-2位小数的正数或负

    2024年02月11日
    浏览(41)
  • 从Google网页中通过正则表达式获取json如何转换unicode对象

    场景: Google爬虫,获取下拉框搜索,需要获取页面的里面的json字符串如下面: \\\'{\\\\x22aa\\\\x22:{},\\\\x22abd\\\\x22:{\\\\x22abd\\\\x22:false,\\\\x22deb\\\\x22:false,\\\\x22det\\\\x22:false},\\\\x22async\\\\x22:{},\\\\x22attn\\\\x22:{},\\\\x22bgd\\\\x22:{\\\\x22ac\\\\x22:true,\\\\x22as\\\\x22:true,\\\\x22at\\\\x22:0,\\\\x22ea\\\\x22:true,\\\\x22ed\\\\x22:0,\\\\x22ei\\\\x22:tru

    2024年04月13日
    浏览(40)
  • Sublime Text 正则表达式处理

    1. 打开Sublime Text。 2. 按下 Ctrl + F 打开查找面板。 3. 在查找面板上方,点击 .* 按钮以启用正则表达式模式。 4. 在查找面板中,输入匹配您想要删除的特定文字的正则表达式模式。例如,如果您想要删除包含单词\\\"example\\\"的行,可以使用模式 .*example.* 。 5. 按下 Enter 开始搜索。

    2024年02月16日
    浏览(60)
  • 正则表达式与文本处理器

    文本处理器三剑客:grep(查找) sed  awk 正则表达式: 由一类特殊字符以及文本字符所编写的一种模式,处理文本当中的内容 其中的一些字符不表示字符的字面含义,这些字符表示控制或者通配的功能 通配符: 匹配文件名和目录名,不能匹配文件内容 正则表达式有两种匹

    2024年02月16日
    浏览(49)
  • 正则表达式中的“回引用(回溯)”——别名引用与序号引用的差异及正则表达式中的“P”关键字

    读到一段巧妙的正则表达式,勾起我对正则表达式欠缺知识点的探寻: P y t h o n Python P y t h o n 正则表达式中的“回引用 (回溯) ”——分组别名引用与序号引用的差异及正则表达式中的“P”详情。 (笔记模板由python脚本于2024年01月14日 07:49:35创建,本篇笔记适合 熟悉基

    2024年01月19日
    浏览(48)
  • JS中的正则表达式

    正则就是一种规则的的表达式,书写一段规则,用于匹配一段字符串是否符合规则 创建正则表达式 创建正则表达式有两种方式: 1.字面量的形式 2.内置构造函数的形式 1.匹配(test) 匹配字符串是否符合正则规则 符合—true 不符合—false 语法: 正则.test(字符串) 2.捕获 语法:正则.exe

    2024年02月05日
    浏览(46)
  • JavaScript中的正则表达式

    正则表达式是一种强大的工具,可以在多种编程语言中使用,包括JavaScript。它们允许您在文本中查找和匹配模式,以及执行各种操作,如替换、拆分和验证。在JavaScript中,正则表达式通常用来检查字符串是否符合某种特定模式,并且可以用来从字符串中提取特定的子字符串

    2024年02月02日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包