会打代码的扫地王大爷 2016-05-19 04:34 采纳率: 0%
浏览 1556
已采纳

关于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>

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

  • 写回答

5条回答 默认 最新

  • danielinbiti 2016-05-19 04:39
    关注
     +号在正则表达式中是有意义的,要转义
     oldStr = oldStr.replace('+','\\+');
     return obj.replace(new RegExp(">[\\s]*"+oldStr+"[\\s]*<","gm"),function(word){
                     return ">"+newStr+"<"}
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)
编辑
预览

报告相同问题?