Javascript 从字符串抓取变量

Javascript 从字符串抓取变量,javascript,string,variables,Javascript,String,Variables,我想从一个字符串中得到多个变量。让我们假设字符串是“rgb(74,29,87)”。如何从字符串中获取R、G和B值 我有没有办法做一些简单的事情,比如: conststr=rgb(74,29,87); const color=str.grab(“rgb({R},{G},{B})”; 控制台。日志(颜色); //产出:{R:74,G:29,B:87} 或者至少获取数组中的变量而不是对象?没有内置内容,但您应该能够基于模式字符串构建正则表达式,并将输入与之匹配: //https://develop

我想从一个字符串中得到多个变量。让我们假设字符串是
“rgb(74,29,87)”
。如何从字符串中获取R、G和B值

我有没有办法做一些简单的事情,比如:

conststr=rgb(74,29,87);
const color=str.grab(“rgb({R},{G},{B})”;
控制台。日志(颜色);
//产出:{R:74,G:29,B:87}

或者至少获取数组中的变量而不是对象?

没有内置内容,但您应该能够基于模式字符串构建正则表达式,并将输入与之匹配:

//https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
函数escapeRegExp(字符串){
返回字符串。replace(/[.*+?^${}()\[\]\\]/g,\\$&');/$&表示整个匹配字符串
}
函数抓取(str,pattern){
让re=escapeRegExp(模式)。替换(/\\{(\w+\\\}/g,($0,$1)=>
'(?.+?)'
)
return(str.match(re)|{});
}
常量str='rgb(74,29,87)'
const color=grab(str,“rgb({R},{G},{B})”;
控制台。日志(颜色);

//输出:{R:74,G:29,B:87}
没有内置内容,但是您应该能够基于模式字符串构建正则表达式,并将输入与之匹配:

//https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
函数escapeRegExp(字符串){
返回字符串。replace(/[.*+?^${}()\[\]\\]/g,\\$&');/$&表示整个匹配字符串
}
函数抓取(str,pattern){
让re=escapeRegExp(模式)。替换(/\\{(\w+\\\}/g,($0,$1)=>
'(?.+?)'
)
return(str.match(re)|{});
}
常量str='rgb(74,29,87)'
const color=grab(str,“rgb({R},{G},{B})”;
控制台。日志(颜色);
//输出:{R:74,G:29,B:87}