javascript - 如何从包含线性渐变定义的字符串中提取颜色停止值?
问题描述
我有一个字符串,其中包含线性渐变的定义...
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
and rgba
,请使用:
str.match(/rgba?\(.*?\)/g);
推荐阅读
- html - 为所有屏幕尺寸定位半圆
- r - 用于在 Markdown 文件中添加指向所有图像的链接的脚本
- python-requests - 为什么 requests-mock 装饰器模式会在 pytest 中抛出“fixture 'm' not found”错误?
- c# - .NET Core 有效的 IdentityUser 注册模型返回 NULL
- xamarin - Android 全球不支持推送异步,请使用 NavigationPage
- bash - 从 bash 执行 tcsh 脚本并保持 tcsh 会话交互
- node.js - 如何在 Ubuntu 上安装 Node.JS (nvm)?
- javascript - HTML 重置插入符号位置
- swift - 从 TableViewCell 中的按钮解除 UITableViewController
- wordpress - 在不使用插件的情况下将架构常见问题解答标记添加到 WordPress 网站的最佳方法是什么?