码迷,mamicode.com
首页 > 其他好文 > 详细

replace的回调函数

时间:2017-07-09 23:12:56      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:color   ring   index   bsp   nbsp   .exe   argument   regex   var   

var string = "abc123-ii3-abc321-ii2";
string.replace(/(\d)-([\da-z]{1,4})/g,function () {
    console.log(arguments)
})
//结果如下
["3-ii3", "3", "ii3", 5, "abc123-ii3-abc321-ii2", callee: function, Symbol(Symbol.iterator): function]
["1-ii2", "1", "ii2", 16, "abc123-ii3-abc321-ii2", callee: function, Symbol(Symbol.iterator): function]

正则表达式里存在全局g标志时,匹配过程是一轮一轮的进行的,第一轮匹配时,该表达式匹配到了 3-ii3 ,然后匹配结束,此时的生成了一个arguments数组,第一个元素为此时匹配到的字符,第二个元素为正则式子第一组匹配到的内容,第三个为第二组同上,第四个为原字符串。然后从上次匹配到的最后一个字符索引+1之后开始匹配,就这样直到遍历完整个字符串为止。

regexp.exec(string)返回一个数组

["1-ii2", "1", "ii2", index: 16, input: "abc123-ii3-abc321-ii2"]
当为全局匹配时,第一个元素为匹配到的最后一个内容,其余元素也是最后一次匹配到时的结果

 

replace的回调函数

标签:color   ring   index   bsp   nbsp   .exe   argument   regex   var   

原文地址:http://www.cnblogs.com/rage-the-dream/p/7143427.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!