gpt4 book ai didi

用于匹配 "{0-99}"的插值的 JavaScript RegEx 表达式

转载 作者:行者123 更新时间:2023-11-28 19:14:53 25 4
gpt4 key购买 nike

我希望在 JSON 对象中生成自己的插值方法,如下所示:

var exampleObj = {
firstLabel: "Hello {0}, I like {1} & {2}",
secondLabel: "Luke, I am your {0}",
interpol : function (key, vals) {
key = this[key];
return key.replace(/[0-9]/g, function myFunction(i){return vals[i];});
}
};

console.log(exampleObj.interpol('firstLabel', ['World','Fish','Chips']));

替换方法有效,但是我只能匹配数字,不能匹配大括号和数字?正确的正则表达式语法是什么来匹配大括号之间的任何数字范围。非常感谢!

最佳答案

您只需转义花括号,如下所示:

return key.replace(/\{[0-9]\}/g, function myFunction(i){return vals[i];});
^------^---- here

顺便说一句,如 Rodrigo Lopez在他的评论中指出,您还应该考虑拥有超过 1 位数字,因此您可以使用此正则表达式:

\{[0-9]+\}

更新:如 Oriol也指出,您可以通过将 [0-9] 替换为 \d

来缩短正则表达式

关于用于匹配 "{0-99}"的插值的 JavaScript RegEx 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30080198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com