文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页技术开发ASP教程 → 正则表达式简介(12)

正则表达式简介(12)

时间:2004/11/7 4:13:00来源:本站整理作者:蓝点我要评论(0)

12.定位符



到现在为止,所看到的示例都只考虑查找任何地方出现的章节标题。出现的任何一个字符串 'Chapter' 后跟一个空格和一

个数字可能是一个真正的章节标题,也可能是对其他章节的交叉引用。由于真正的章节标题总是出现在一行的开始,因此

需要设计一个方法只查找标题而不查找交叉引用。



定位符提供了这个功能。定位符可以将一个正则表达式固定在一行的开始或结束。也可以创建只在单词内或只在单词的开

始或结尾处出现的正则表达式。下表包含了正则表达式及其含义的列表:



字符                                描述



^    匹配输入字符串的开始位置。如果设置了RegExp对象的 Multiline 属性,

      ^ 也匹配 '\n' 或 '\r' 之后的位置。



$    匹配输入字符串的结束位置。如果设置了RegExp对象的 Multiline 属性,

      $ 也匹配 '\n' 或 '\r' 之前的位置。



\b   匹配一个单词边界,也就是指单词和空格间的位置。



\B   匹配非单词边界。





不能对定位符使用限定符。因为在一个换行符或者单词边界的前面或后面不会有连续多个位置,因此诸如 '^*' 的表达式

是不允许的。



要匹配一行文字开始位置的文字,请在正则表达式的开始处使用 '^' 字符。不要把 '^' 的这个语法与其在括号表达式中

的语法弄混。它们的语法根本不同。



要匹配一行文字结束位置的文字,请在正则表达式的结束处使用 '$' 字符。



要在查找章节标题时使用定位符,下面的 Visual Basic Scripting Edition 正则表达式将匹配位于一行的开始处最多有

两个数字的章节标题:



/^Chapter [1-9][0-9]{0,1}/



VBScript 中相同功能的正则表达式如下:



"^Chapter [1-9][0-9]{0,1}"



一个真正的章节标题不仅出现在一行的开始,而且这一行中也仅有这一个内容,因此,它必然也位于一行的结束。下面的

表达式确保所指定的匹配只匹配章节而不会匹配交叉引用。它是通过创建一个只匹配一行文字的开始和结束位置的正则表

达式来实现的。



/^Chapter [1-9][0-9]{0,1}$/



对 VBScript 则使用:



"^Chapter [1-9][0-9]{0,1}$"



匹配单词边界有少许不同,但却给正则表达式增加了一个非常重要的功能。单词边界就是单词和空格之间的位置。非单词

边界就是其他任何位置。下面的 Visual Basic Scripting Edition 表达式将匹配单词 'Chapter' 的前三个字符,因为它

们出现在单词边界后:



/\bCha/



对 VBScript 为:



"\bCha"



这里 '\b' 操作符的位置很关键。如果它位于要匹配的字符串的开始,则将查找位于单词开头处的匹配;如果它位于改字

符串的末尾,则查找位于单词结束处的匹配。例如,下面的表达式将匹配单词 'Chapter' 中的 'ter',因为它出现在单词

边界之前:



/ter\b/



以及



"ter\b"



下面的表达式将匹配 'apt',因为它位于 'Chapter' 中间,但不会匹配 'aptitude' 中的'apt':



/\Bapt/



以及



"\Bapt"



这是因为在单词 'Chapter' 中 'apt' 出现在非单词边界位置,而在单词 'aptitude' 中位于单词边界位置。非单词边界

操作符的位置不重要,因为匹配与一个单词的开头或结尾无关。






相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 《龙珠:超宇宙》 战斗E3 2014:瘆人僵尸《消 asp代码实现access数据导出到excel文件如何使用FSO读取Js文件内容并可以编辑修改对初学者有用的一些asp函数集学习ASP编程必会的代码

人气排行 asp代码实现access数据导出到excel文件asp不需要任何配置的伪静态实现如何使用FSO读取Js文件内容并可以编辑修改asp去除html标记和空格的代码Asp全选删除代码教大家网页伪静态知识及其2种实现方法Microsoft SQL Server 7.0安装问题(一)ASP.NET中的Code Behind技术4