从字符串中拆分多个delimeters(包括十进制值),并在Javascript中从字符串中获取RGB值

从字符串中拆分多个delimeters(包括十进制值),并在Javascript中从字符串中获取RGB值,javascript,jquery,Javascript,Jquery,我有一个字符串如下 0.1-rgb(255,112,112)^ 0.2-rgb(255,112,112)^0.5-rgb(270,112,112)-default^1.4-rgb(108,243,1) 我正在尝试剥离十进制值和字符串,例如('-'、'default'、'^'),这样我就可以获得数组中的所有rgb值,如下所示 上述ex的预期结果- [0]=>rgb(255,112,112) [1]=>rgb(255,112,112) [2]=>rgb(108,2

我有一个字符串如下

0.1-rgb(255,112,112)^ 0.2-rgb(255,112,112)^0.5-rgb(270,112,112)-default^1.4-rgb(108,243,1)
我正在尝试剥离十进制值和字符串,例如('-'、'default'、'^'),这样我就可以获得数组中的所有rgb值,如下所示

上述ex的预期结果-

  [0]=>rgb(255,112,112) 
  [1]=>rgb(255,112,112) 
  [2]=>rgb(108,243,1)

我已尝试使用.replace(/[0-9].]/g'),但它会替换rgb值中的数字。请帮忙。

我会把它翻过来并匹配
rgb(…)
子字符串:

let input=“0.1-rgb(25511212)^0.2-rgb(25511212)^0.5-rgb(270112112)-默认值^1.4-rgb(108243,1)”;
让output=input.match(/(rgb\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}\s*\)/g);

控制台日志(输出)正则表达式可能是一种方法

var rgbString = "0.1-rgb(255,112,112)^ 0.2-rgb(255,112,112)^0.5-rgb(270,112,112)-default^1.4-rgb(108,243,1)";
const regex = /rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)/gi;
const found = rgbString.match(regex);
console.log(found);