对回调函数的参数说明也很准确:
第一个参数是匹配到的字符串,最后一个是原字符串,倒数第二个参数是匹配到的字符串的在原字符串索引的起始位。
但我很好奇,第二到倒数第三之间的参数又是些什么呢?其实,W3school已经给出了答案:
复制代码 代码如下:
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。其语法为:
stringObject.replace(regexp/substr,replacement)
replacement 可以是字符串,也可以是函数。如果它是字符串,那么每个匹配都将由字符串替换。
ECMAScript v3 规定,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函
数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数是与模式中的子表达式匹配的
字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数
是 stringObject 本身。
显然,replacement函数的第二到倒数第三之间的参数是“与模式中的子表达式匹配的字符串”,具体个数起决于子表达式的个数。
据此,我们举两个例子来对比说明:
例1:
字符串:"CJ9080"
匹配模式为:/CJ[0-9]{2}/g (无子表达式)
预期结果:
replacement函数有3个参数,分别为:
【0】“CJ90”
【1】0
【2】“CJ9080”
测试代码:
复制代码 代码如下:
function replaceStr(s) {
return s.replace(/CJ[0-9]{2}/g,
function(){
for (var i = 0, len = arguments.length; i < len; i++) {
console.info("Argument " + i + ": " + arguments[i]);
}
});
};
运行结果:
例2:
字符串:"CJ9080"
匹配模式为:/((CJ)([0-9]{2}))/g (有3个子表达式:(CJ[0-9]{2}), (CJ), ([0-9]{2}))
预期结果:
replacement函数有6个参数,分别为:
【0】 "CJ90"
【1】 "CJ90"
【2】 "CJ"
【3】 "90"
【4】 0
【5】 "CJ9080"
测试代码:
复制代码 代码如下:
function replaceStr(s) {
return s.replace(/((CJ)([0-9]{2}))/g,
function(){
for (var i = 0, len = arguments.length; i < len; i++) {
console.info("Argument " + i + ": " + arguments[i]);
}
});
};
运行结果:
显然,两个测试例子结果均与预期一致。说明,当replace函数的replacement为函数时,此函数的参数各位确如W3school所言:
【0】:匹配模式的字符串;
【1 - (length - 3)】: 与模式中的子表达式匹配的字符串, 0个或多个;
【length - 2】:匹配串在原字符串的索引起始位置,从0开始;
【length - 1】:原字符串。
相关推荐:
seo网络推广要做什么,seo 网络推广 ,ai少女喝药
ChatGPT付款银行卡被拒绝?解决方案全解析!,小发猫ai智能写作查重能过吗
SEO赚钱:如何通过SEO技能在网络上实现财富自由,网站怎么建设推广平台
产品经理seo是什么,产品经理seo是什么意思 ,ai政府公文写作 软件
AI批量文章工具,让写作变得高效与轻松,cs机器人ai
AI网页版本:开启智能时代的新篇章,拼音标调ai
SEO选择:如何挑选最合适的SEO优化策略?,wb免费刷粉网站推广
SEO能给企业带来什么价值,seo的影响 ,ai蓝衣美女
GPT在什么时候被人熟知的?从技术突破到广泛应用的背后故事,ai商业新思维ai课程
SEO优化:让你的网站在竞争中脱颖而出,临沧seo代理
SEO桔子:提升网站排名的必备法宝,seo外包销售
亚马逊产品seo什么意思,亚马逊平台产品专业术语 ,小新同学ai
文章AI指令提升写作效率的智能助手
SEO教育:搜索引擎优化,开启成功职业之路,搜狗SEO排名接单
SEO优化如何为网站做好关键词研究和优化,ai直通
wordpress seo是什么,wordpress建站seo好做吗 ,学习图文ai
SEO优化知识全解析:提升网站排名的秘密武器,ai出错合集
为什么选择老域名注册,打造品牌价值的秘密武器,网站建设服务费用多少
ChatGPT进不去怎么办?解决方案与技巧,轻松畅享智能对话,ai va
ChapGPT免费爬墙,轻松访问全球互联网资源!,蜜桃ai插画
ChatGPT国内版:为中国用户量身定制的智能助手,开启AI新纪元,ai文章赚钱
“扩写AI”-引领写作革命,开启智能创作新时代,dede seo 标题如何填写
ChatGPT崩溃!用户反馈网页端无法访问,修复急需,ai院子
SEO网:让你的数字营销更加精准高效,开启网络引流新时代,丰县互联网网站推广优势
SEO排位:如何通过精准策略提升网站排名,获得流量与转化,林海网络推广营销
优化提长:让企业效能提升的秘密武器,长沙网站建设创意
ChatGPT启动时遇到问题?快速解决方案让你畅享智能对话体验,ai如何保存logo
如何查文章AI率?全面解析AI文章检测工具及技巧
颠覆写作方式:免费的AI续写软件助你轻松创作
未来写作新方式原创AI文章的无限可能
ChatGPT:引领智能对话新潮流,助力未来科技,ai写作免费议论文
OpenAI注册问题解决方案:如何顺利通过手机号验证,反对ai头像
AI提供的阅读书目对学生的专业知识有多大帮助,沃奇ai
seo规范是什么,seo行业标准 ,啊龙ai音乐
为什么“360收录”是你网站推广的必备利器,seo亚马逊
SEO门户:打造高效网站流量的关键利器,创意网站建设要求
SEO收集:如何通过有效数据收集提升网站排名,鞍山商城网站建设报价
SEO妍:搜索引擎优化的艺术,轻松打造网络营销新未来,辽宁网站建设贵不贵
如何用AI改文章,让写作更高效、精准,提升内容质量
什么是seo优化营销,seo主要优化什么 ,ai绘画国风古韵
什么是seo行业,seo是什么职业做什么的 ,ai标题字体效果
SEO很多,如何在竞争激烈的市场中脱颖而出?,在SEO优化中
2024年AI写文章生成器推荐:让创作轻松高效,提升写作水平
SEO开发:数字营销的核心驱动力,园区网站建设
SEO优化如何提升网站排名,驾驭搜索引擎流量,三亚网站推广方法
软件我在AI:改变未来的智能助手
在线AI生成文章:智能写作的未来趋势
SEO搜外:全球搜索引擎优化的秘密武器,如何选择网站建设类型呢
ChatGPT的超链接点不开?解决方法一网打尽!,情感ai写作指令是什么
seo能解决什么问题,seo会遇到哪些问题 ,挚爱花嫁ai