假设我有一个名为 testvar
的变量和包含此 testvar
的字符串;
我希望我的函数获取整个字符串并用找到的 RegEx 替换 RegEx。
/k.*?j/
此 RegExp 查找所有以 k 开头并以 j 结尾的替换。
在我的例子中,它必须用它的值替换ktestvarj
,
最后,我想要“一些刺字符 123”。
var t = 'some sting characters ktestvarj';
var testvar = 123;
var modify = function(str) {
var teststr = str.replace(/k.*?j/, ' + /k.*?j/ + ');
console.log(teststr);
}
modify(t);
最佳答案
假设我们有字典 variables
存储用于替换的变量。然后您可以使用替换为自定义 function-replacer 。我添加了组捕获 /k(.*?)j/g
- 所以第一组将是您的变量名。并且还添加了全局标志以替换每个匹配项。
var t = 'some sting characters ktestvarj';
var variables = {
'testvar': 123,
'testvar1': 456
};
function replacer(match, p1, offset, string) {
return variables[p1];
}
var modify = function (str) {
var teststr = str.replace(/k(.*?)j/g, replacer);
console.log(teststr);
}
modify(t);
modify('some ktestvarj sting characters ktestvarj ktestvar1j');
关于javascript - 如何用 RegEx 找到的变量名替换 RegEx?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54199567/