我正在尝试使用与Python字符串格式化相同的方式替换字符串。
该字符串的格式类似于:
string = 'Replace $name$ as well as $age$ and $country$';
我想要一个将返回和数组的正则表达式操作:
['name', 'age', 'country'] or ['$name$', '$age$', '$country$']
这样我就可以将它映射到对象键:
{
name : 'Bob',
age : 50,
country : 'US'
}
我见过使用字符串连接的解决方案,但我需要一个使用正则表达式的解决方案,因为 我必须依赖包含这些变量的字符串。
答案 0 :(得分:3)
你可以这样做:
var string = 'Replace $name$ as well as $age$ and $country$';
var arr = [];
string.replace(/\$(.+?)\$/g, function(m,g1){ arr.push(g1); return m; });
console.log(arr); // desired output