关于js正则匹配的问题,怎么加上一个"+"就匹配不上了?

<html>
   <head></head>

   <body>
     <div>ABS+PC,抗跌落和震动</div>
   </body>
      <script src="http://www.lazycat.cc/Doctor/Application/Doctor/View/css/bower_components/jquery/dist/jquery.min.js"></script>
         <script>
      function replaceAll(obj ,oldStr, newStr) 
        {
             return obj.replace(new RegExp(">[\\s]*"+oldStr+"[\\s]*<","gm"),function(word){
                 return ">"+newStr+"<"}
          ); 
        }

        var body=$("body").html();
        body=replaceAll(body,"ABS+PC,抗跌落和震动","ssssss");
        $("body").html(body);
      </script>
</html>

像这样有个加号,文本不会被替换,但是删除两个加号后就能正常被替换了

 +号在正则表达式中是有意义的,要转义
 oldStr = oldStr.replace('+','\\+');
 return obj.replace(new RegExp(">[\\s]*"+oldStr+"[\\s]*<","gm"),function(word){
                 return ">"+newStr+"<"}

+需要转义,它表示多个字符,\+才是字面的加号。

楼上正解,+是特殊字符,需要转义

是转义的问题,应该用转义符

+在正则里有自己的含义,若要当普通字符使用,需要写成“+”