- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章正则表达式 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。 正则表达式就是用于描述这些规则的工具,本章将介绍正则表达式的定义,如何编写正则表达式,以及如何在JavaScript中使用正则表达式。 4.1 正则表达式的起源 正则表达式是一个描述一组字符串的模板,换句话说,正则表达式是记录文本规则的代码。 借助于正则表达式,很多原本非常复杂的字符串处理问题可以很容易地得到解决。 JavaScript语言的正则表达式就使用了Perl兼容的风格。 4.2 构建正则表达式 一个最简单的正则表达式就是普通的字符串,例如“hello”,它可以匹配在文本的任何位置上出现的“hello”。 这个最简单的正则表达式中只包含了普通字符,与普通字符相对的一些特殊字符,如“{ [ ( \ ^ $ | ) ? * +”等,我们称之为元字符。 4.3 JavaScript中的正则表达式 应用正则表达式进行字符串处理的目的可以归结为三类: (1)验证 (2)匹配 (3)替换 4.3.1 定义正则表达式 在JavaScript中有两种定义正则表达式的方法。 第一种是使用Perl风格的表示方法,在文本的两端添加“/”符号。 例如上节中匹配文本文件名的正则表达式,在JavaScript中可以这样定义: var re = /.*\.js/; 第二种方法是新建一个RegExp对象,例如: var re = new RegExp(.*\\.js); 在声明正则表达式时还可以附加标志,其中可能的标记包括: (1)g:全局查找模式; (2)i:不区分大小; (3)m:多行查找模式。 4.3.2 String对象 String对象中有以下4个方法可以支持正则表达式: (1)match:使用正则表达式进行字符串匹配; (2)replace:使用正则表达式进行字符串替换; (3)search:在字符串中查找指定的模式; (4)split:将字符串按一定的模式进行分隔。 关于这些函数的详细使用方法,请参考本书第5章的相关内容。 4.3.3 RegExp和正则表达式对象 正则表达式对象指的是RegExp类的对象实例,RegExp有两个原型方法: (1)test:测试字符串是否包含指定的模式; (2)exec:在字符串中查找指定的模式,并且以数组形式返回查找结果。 【例4-1】 test方法使用示例 【例4-2】 exec方法使用示例 4.4 简 单 模 式 4.4.1 元字符 元字符是正则表达式中的特殊字符,如果需要表示元字符本身,那么必须在字符之前加上“\”字符进行转义。 例如前面示例中使用的正则表达式“.*\.js”就使用了“\.”来表示字符“.”本身。 除了使用“\”进行转义之外,也可以使用ASCII代码或者Unicode代码指定字符。 使用ASCII代码表示字符时,必须指定一个两位的十六进制代码,并在前面加上“\x”。 例如,字符“d”的ASCII码为100,即十六进制的64,因此在正则表达式中可以使用“\x64”来表示字符“d”。 另外,也可以使用八进制来指定字符的ASCII代码,方法是直接在“\”之后跟上八进制数值。 例如字符“d”的ASCII码为100,即八进制的144,因此可以使用“\144”在正则表达式中表示字符“d”。 如果使用Unicode代码来表示字符,必须指定字符的4位十六进制形式,并在前面加上“\u”表示Unicode。 例如字符“d”用Unicode表示法应该写作“\u0062”。 这种表示方法在进行非英语语言(如中文)字符串匹配时非常有用。 4.4.3 括号表达式 在中括号([])之间放入一个或者多个单字符,可以创建一个待匹配的列表,这样的表达式就是括号表达式。 括号表达式能表示的范围不仅仅是数字,其他普通字符、特殊字符都可以在括号表达式中使用。 在括号表达式中可以使用多个范围。 4.4.4 预定义类 4.4.5 限定符 限定符可以指定某个特定模式出现的次数,基本的限定符有3种形式:{n}、{n,m}和{n,}。 对于几种常用的限定符,也可以使用前面提到的元字符来表示,它们是: (1)*:等价于{0,}; (2)?:等价
您可能关注的文档
- Flash动画设计与制作实例教程 作者 王德永 樊继 第7章 动画片制作.ppt
- Flash动画设计与制作实例教程 作者 王德永 樊继 第8章 游戏制作.ppt
- Flash动画设计与制作实例教程 作者 王德永 樊继 第10章课件制作.ppt
- Flash动画制作案例教程 马震 本科Flash教材-02.ppt
- Flash动画制作案例教程 马震 本科Flash教材-03.ppt
- Flash动画制作案例教程 马震 本科Flash教材-04.ppt
- Flash动画制作案例教程 马震 本科Flash教材-05.ppt
- Flash动画制作案例教程 马震 本科Flash教材-08.ppt
- Flash动画制作实例教程 作者 刘荷花 刘三满 第2章 图形绘制与动画编辑.ppt
- Flash动画制作实例教程 作者 刘荷花 刘三满 第3章 动画贺卡设计.ppt
- JavaScript程序设计教程 作者 李林 施伟伟 第6章 浏览器对象模型(BOM).ppt
- JavaScript程序设计教程 作者 李林 施伟伟 第7章 DOM基础.ppt
- JavaScript程序设计教程 作者 李林 施伟伟 第9章 JavaScript控制页面样式.ppt
- JavaScript程序设计教程 作者 李林 施伟伟 第10章 JavaScript中的XML编程.ppt
- JavaScript程序设计教程 作者 李林 施伟伟 第11章 JavaScript与服务器的通信.ppt
- JavaScript程序设计教程 作者 李林 施伟伟 第12章 JavaScript与插件.ppt
- JavaScript脚本程序设计 作者 吴以欣 陈小宁 第1章 JavaScript简介.ppt
- JavaScript脚本程序设计 作者 吴以欣 陈小宁 第3章 JavaScript常用内置对象.ppt
- JavaScript脚本程序设计 作者 吴以欣 陈小宁 第4章 JavaScript常用文档对象.ppt
- JavaScript脚本程序设计 作者 吴以欣 陈小宁 第6章Javascript与动态网页(DHTML).ppt
文档评论(0)