正则表达式匹配{0}

问题描述

就是想匹配字符串模板里面的{0},{1},...等等,例如:var str1 = "我是{0},年龄{1}";str1.format("aa", 12);之后str1为:我是aa,年龄12

相关代码

String.prototype.format = function (args) {  var result = this;  if(arguments.length > 0) {    if(arguments.length === 1 && typeof (args) === "object") {      for(var key in args) {        if(args[key] != undefined) {          var reg = new RegExp("{" + key + "}", "g");          console.log(reg);
          result = result.replace(reg, args[key]);
        }
      }
    } else {      for(var i=0; i<arguments.length; i++) {        if(arguments[i] != undefined) {          var reg = new RegExp("{" + i + "}", "g");          console.log(reg);
          result = result.replace(reg, arguments[i]);
        }
      }
    }
  }  return result;
}

你期待的结果是什么?实际看到的错误信息又是什么?

上面那个代码的else里面有错误,说是:Invalid regular expression: /{0}/: Nothing to repeat。


收到一只叮咚
浏览 1683回答 1
1回答

一只斗牛犬

/\{[0-9]\}/{和}要转义啊
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript