js正则函数matchexectestsearchreplacesplit使用介绍集合..docVIP

js正则函数matchexectestsearchreplacesplit使用介绍集合..doc

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

js正则函数match、exec、test、search、replace、split使用介绍集合 js正则函数match、exec、test、search、replace、split使用介绍集合,学习正则表达式的朋友可以参考下。 match 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。 stringObj.match(rgExp) 参数 stringObj 必选项。对其进行查找的 String 对象或字符串文字。 rgExp 必选项。为包含正则表达式模式和可用标志的正则表达式对象。也可以是包含正则表达式模式和可用标志的变量名或字符串文字。 其余说明与exec一样,不同的是如果match的表达式匹配了全局标记g将出现所有匹配项,而不用循环,但所有匹配中不会包含子匹配项。 例子1: function MatchDemo(){ var r, re; // 声明变量。 var s = The rain in Spain falls mainly in the plain; re = /(a)in/ig; // 创建正则表达式模式。 r = s.match(re); // 尝试去匹配搜索字符串。 document.write(r); // 返回的数组包含了所有 ain 出现的四个匹配,r[0]、r[1]、r[2]、r[3]。 // 但没有子匹配项a。}输出结果:ain,ain,ain,ain exec 方法 用正则表达式模式在字符串中查找,并返回该查找结果的第一个值(数组),如果匹配失败,返回null。 rgExp.exec(str) 参数 rgExp 必选项。包含正则表达式模式和可用标志的正则表达式对象。 str 必选项。要在其中执行查找的 String 对象或字符串文字。 返回数组包含: input:整个被查找的字符串的值; index:匹配结果所在的位置(位); lastInput:下一次匹配结果的位置; arr:结果值,arr[0]全匹配结果,arr[1,2...]为表达式内()的子匹配,由左至右为1,2...。 例子2: 复制代码 代码如下: function RegExpTest(){ var src=/blog/I love you!; var re = /\w+/g; // 注意g将全文匹配,不加将永远只返回第一个匹配。 var arr; while((arr = re.exec(src)) !=null){ //exec使arr返回匹配的第一个,while循环一次将使re在g作用寻找下一个匹配。 document.write(arr.index + - + arr.lastIndex + : + arr + br/); for(key in arr){ document.write(key + = + arr[key] + br/); } document.write(br/); } } window.onload = RegExpTest(); 输出结果: 0-1:I //0为index,i所在位置,1为下一个匹配所在位置 input=I love you! index=0 lastIndex=1 0=I 2-6:love input=I love you! index=2 lastIndex=6 0=love 7-10:you input=I love you! index=7 lastIndex=10 0=you 说明:根据手册,exec只返回匹配结果的第一个值,比如上例如果不用while循环,将只返回I(尽管i空格后的love和you都符合表达式),无论re表达式用不用全局标记g。但是如果为正则表达式设置了全局标记g,exec 从以 lastIndex 的值指示的位置开始查找。如果没有设置全局标志,exec 忽略 lastIndex 的值,从字符串的起始位置开始搜索。利用这个特点可以反复调用exec遍历所有匹配,等价于match具有g标志。 当然,如果正则表达式忘记用g,而又用循环(比如:while、for等),exec将每次都循环第一个,造成死循环。 exec的输出将包含子匹配项。 例子3: 复制代码 代码如下: function execDemo(){ var r, re; // 声明变量。 var s = The rain in Spain falls mainly in the plain; re = /[\w]*(ai)n/ig; r = re.exec(s); document.write(r + br/); for(key in r){

文档评论(0)

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

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

1亿VIP精品文档

相关文档