gpt4 book ai didi

JavaScript: "Dynamic"反向引用正则表达式替换

转载 作者:行者123 更新时间:2023-11-28 02:48:30 25 4
gpt4 key购买 nike

我想进行如下替换:

var txt = "Some text containing $_variable1 and with $_variable2 inside of it as well.";
var rx = /(\$_[a-z]+)/g

var $_variable1 = "A CAT";
var $_variable2 = "A HOTDOG";

var replaced_txt = txt.replace(rx, $1);

我希望 replaced_txt 等于“...包含 CAT 和 HOTDOG ins...”,但迄今为止我发现的实现此目的的唯一方法是:

var replaced_txt = txt.replace(rx, function($1){return eval($1)});

我有一种感觉,这不是最优雅的解决方案,不是吗?

我最好避免使用eval()

我很感激对此的任何想法!

/C

最佳答案

你可以这样做:

var values = {
'$_variable1': 'A CAT',
'$_variable2': 'A HOTDOG'
};
var replaced_txt = txt.replace(rx, function(_, varName) {
return values[varName] ? values[varName] : '<unknown variable: ' + varName + '>';
});

关于JavaScript: "Dynamic"反向引用正则表达式替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4327053/

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