js正则表达式替换带中括号的内容

例如如下内容内容内容内[em123]容内容[em567]内容内容用正则表达式替换为:内容内容内em123.jpg容内容em567.jpg内容内容varstr="内容内容内... 例如如下内容
内容内容内[em123]容内容[em567]内容内容
用正则表达式替换为:
内容内容内em123.jpg容内容em567.jpg内容内容

var str = "内容内容内[em123]容内容[em567]内容内容"
var reg = new RegExp('\[em(.+?)\]',"g");
var ss = str .replace(reg,"em$1.jpg");
结果不行,哪里错了呢?
展开
 我来答
四舍五不入6
高粉答主

2020-02-09 · 还没有填写任何签名哦
四舍五不入6
采纳数:27 获赞数:71371

向TA提问 私信TA
展开全部

可以参考下面的代码:

str = "内容内容内[em123]容内容[em567]内容内容"

reg = new RegExp('\\[em(.+?)\\]',"g");

//reg = /\[em(.+?)\]/g

ss =  str .replace(reg,"em$1.jpg");

扩展资料:

正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。

正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

一个正则表达式看上去就是一个普通的查找串。

例如,正则表达式"testing"中没有包含任何元字符,它可以匹配"testing"和"testing123"等字符串,但是不能匹配"Testing"。

参考资料来源:百度百科-正则表达式

xi8km9
推荐于2017-12-16 · TA获得超过1086个赞
知道小有建树答主
回答量:688
采纳率:50%
帮助的人:725万
展开全部

new RegExp时要把转义符转义了, 你少转一次义

str = "内容内容内[em123]容内容[em567]内容内容"
reg = new RegExp('\\[em(.+?)\\]',"g");
//reg = /\[em(.+?)\]/g
ss =  str .replace(reg,"em$1.jpg");
追问
测试OK!new RegExp时为什么要把转义符转义?也就是为什么要转义2次?
而用双斜杠:reg = /\[em(.+?)\]/g 只要转义一次即可?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式