作家
登录

javascript学习笔记(十二) RegExp类型介绍

作者: 来源:www.28hudong.com 2013-03-30 00:27:15 阅读 我要评论

1.匹配模式标记: g ------ 表示全局模式,而不是发现第一个匹配成功就立刻结束 i ------- 表示不区分大小写模式 m ----- 表示多行匹配,一行结束时向下一行继续匹配 复制代码 代码如下: //匹配第一个bat 或cat,不区分大小写 var pattern1 = /[bc]at/i var pattern2 = new RegExp("[bc]at","i"); //同上 使用RegEXp是字面量模式要转换成字符串 /[bc]at/ =======> "\[bc\]at" /.at/ ==========> "\.at" /name/age/ ======> "name\/age" /d.d{1,2}/ ======> "\d.\d{1,2}" /w\hello\123/ ====>"\w\\hello\\123 2.RegExp实例属性 global —— 布尔值,表示是否设置了g 标志 ignoreCase —— 布尔值,表示是否设置了i 标志 multiline —— 布尔值,表示是否设置了m 标志 lastIndex —— 整数,表示开始搜索下一个匹配项的位置 source —— 字面量形式的字符串 复制代码 代码如下: var pattern2 = new RegExp("\[bc\]at","i"); alert(pattern2.source); //"[bc]at" 3.RegExp实例方法 exec()方法 接受一个参数,即应用正则表达式的字符串, 返回数组和两个属性index和input,数组第一项是与整个模式匹配的字符串,其他项是与模式中的捕获组匹配的字符串 复制代码 代码如下: var text "mom and dat and baby"; var pattern = /mom( and dad( and baby)?)?/gi; var matches = pattern.exec(text); alert(matches.index); //0 alert(matches.input); //"mom and dad and baby" alert(matches[0]); //"mom and dad and baby" alert(matches[1]); //" and dad and baby" alert(matches[2]); //" and baby" 非全局模式时每次调用exec()返回的都是第一次匹配的项 全局模式时每次调用ecec()返回字符串的下一个匹配项,lastIndex的值会增加 test()方法 接受一个参数,即应用正则表达式的字符串,匹配返回 true 否则返回 false 复制代码 代码如下: var text = "000-00-0000"; var pattern = /d{3}-d{2}-d{4}/; if (pattern.test(test)) { alert("匹配!"); } 4.RegExp 构造函数属性 复制代码 代码如下: var text = "this has been a short summer"; var pattern = /(.)host/g; if (pattern.test(text)){ alert(RegExp.input); //this has been a short summer 最近一次要匹配的字符串,等价于RegExp.$_ ,opera不支持 alert(RegExp.lastMatch); //short 最近一次的匹配项,等价于RegExp["$&"] ,opera不支持 alert(RegExp.lastParen); //s 最近一次匹配的捕获组,等价于RegExp["$+"] ,opera不支持 alert(RegExp.leftContext); //this has been a 匹配项前的文本,等价于RegExp["$`"] alert(RegExp.rightContext); // summer 匹配项后的文本,等价于RegExp["$‘"] , alert(RegExp.multiline); //false 是不是多行模式,等价于RegExp["$*"] ,opera和IE都不支持 } RegExp.$1 …… RegExp.$9 存储捕获组 复制代码 代码如下: var text = "this has been a short summer"; var pattern =/(..)or(.)/g; if (pattern.test(text)) { alert(RegExp.$1); //sh alert(RegExp.$2); //t }

  推荐阅读

  通过Javascript将数据导出到外部Excel文档的函数代码

复制代码 代码如下: function AutomateExcel() { try { //Start Excel and get Application object. var oXL; try { oXL = new ActiveXObject("Excel.Application"); } catch(e) { alert("无法启动Excel!nn如果您>>>详细阅读


本文标题:javascript学习笔记(十二) RegExp类型介绍

地址:http://www.17bianji.com/kaifa2/JS/23323.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)