如何从包含线性渐变定义的字符串中提取色标值?
我有一个包含线性渐变定义的字符串...
linear-gradient(90deg, rgba(243,231,231,1), rgba(12,0,0,0.48))
.并且我需要以某种方式将两个色标值赋给一个变量,如下面的伪代码所示...
const color1 = "rgba(243,231,231,1)";
const color2 = "rgba(12,0,0,0.48)";
只提取数字也行,我只需要一些可以处理的东西。
问题是,我不能只计算字符和子字符串,因为我的线性梯度字符串值是动态的,可能会改变长度,您有什么想法吗?
解决方案
您可以使用String#match
。
let str = "linear-gradient(90deg, rgba(243,231,231,1), rgba(12,0,0,0.48))";
let res = str.match(/rgba(.*?)/g);
console.log(res);
正则表达式说明:
如果您需要同时支持rgb
和rgba
,请使用:
str.match(/rgba?(.*?)/g);
相关文章