regex - 如何使用正则表达式+替换将CSS样式的javascript字符串中的rgb值更改为十六进制值

标签 regex replace

我已经为此苦苦挣扎了一段时间,所以我想我会在这里问问是否有人可以帮助我。

我在 javascript 中有一串 css 样式,如下所示:

width: 250px; background-color: rgb(48, 44, 48);

我试图通过一个我称为 RGBtoHEX 的函数运行它,用十六进制值替换字符串中的 rgb 值,所以我得到如下字符串:

width: 250px; background-color: #302C30;

我正在努力创建正则表达式以从主字符串中获取 rgb 字符串以传递给函数。

任何帮助都会很棒。

感谢收看

最佳答案

尝试这样的事情:

str.replace(
    /\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,
    function($0, $1, $2, $3) {
        return "#" + ("0"+Number($1).toString(16)).substr(-2) + ("0"+Number($2).toString(16)).substr(-2) + ("0"+Number($3).toString(16)).substr(-2);
    })

关于regex - 如何使用正则表达式+替换将CSS样式的javascript字符串中的rgb值更改为十六进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5529752/

相关文章:

python - Python 正则表达式 findall 的一些问题

ruby - 这个极其简单的正则表达式有什么问题?

Android:替换不同 Activity 中的小部件

javascript - 如何使用 JS Regex 从 google 查询链接获取查询值? (Chrome 扩展)

javascript - 如何制作一个正则表达式来将一个单词与一个随机插入的字符相匹配?

Java 正则表达式 : For Phone number without leading space or 0 or +

Unix 查找替换多个文件中的特殊字符

javascript - 用不同的参数替换图像源字符串的后部

replace - 如何使用 sed 立即交换基于模式的文本?

python - 替换 Pandas DataFrame 列中超过 n 个连续值