js正则在replace时,怎么保留字符串里的反斜杠?

var aa='今天{asdasd}天气{ddff44}下雨\{sdsada\}了'
var bb=aa.replace(/{[^}]*}/g,666)
console.log(bb)

图片描述

但是我想得到的结果是
今天666天气666下雨666了
也就是雨后面应该有一个\符号,可是却没有了,该如何保留呢?

在线调试地址http://jsbin.com/sidojuqusu/e...

阅读 4.4k
3 个回答
var aa='今天{asdasd}天气{ddff44}下雨\\{sdsada\\}了'
var bb=aa.replace(/{[^}]*}/g,666)
console.log(bb) // 今天666天气666下雨\666了

var aa='今天{asdasd}天气{ddff44}下雨\{sdsada}了'
ASCII码转义,\\转成\

var aa='今天{asdasd}天气{ddff44}下雨\{sdsada}了'
在反斜杠前面在加一个反斜杠进行转义就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题