replace方法使用正则表达式"$`"为什么把目标结果打印两遍?
var m = "e.js?v=0.0.5".replace(/\?.*/,'$`');
console.log(m);
//想获取:'e.js'
//实际获取到:'e.jse.js'
想试试$系列的用法,用了这个案例做例子。有谁知道$系列都怎么用(一般我只会用$+数字的用法),比如这个?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
.replace()中$`表示位于匹配子串左侧的文本。
你匹配到的内容是“?v=0.0.5”,其左侧的内容是“e.js”,
你把“?v=0.0.5”替换成“e.js”结果当然是“e.jse.js”,并不是打印了两次
参阅:http://www.w3school.com.cn/js...
后面是多余的,不用'$`',直接为''就可以