【问题标题】:Extract RGB and RGBA from css Rules in JavaScript从 JavaScript 中的 css 规则中提取 RGB 和 RGBA
【发布时间】:2014-09-11 20:20:45
【问题描述】:

我有一些如下的字符串:

"linear-gradient(to bottom,rgba(255,0,0,0.4) 0,rgba(0,230,175,0.4) 100%);"

我想从 rgba(255,0,0,0.4)rgba(0,230,175,0.4) 这样的搅拌中提取所有 rgba 和 rgb。它会尝试搜索并找到诸如thisthis 之类的问题,但该答案对我没有帮助。

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    我想从stirng中提取所有rgbargb

    我希望您不想验证 rgba 和 rgb 中的数字,如果是,则使用捕获组从索引 1 中获取匹配组。

    (rgba?\((?:\d{1,3}[,\)]){3}(?:\d+\.\d+\))?)
    

    Live demo


    您也可以使用Lazy 方式以及从匹配组索引1 中以相同方式获取值。

    (rgba?.*?\))
    

    Live Demo

    最后的模式解释:

      (                        group and capture to \1:
        rgb                      'rgb'
        a?                       'a' (optional)
        .*?                      any character except \n (0 or more times)
        \)                       ')'
      )                        end of \1
    

    【讨论】:

      【解决方案2】:

      如果您只想匹配字符串,例如rgba(255,0,0,0.4),而不解析值,只需使用:

      arrayOfMatches = yourString.match(/rgba\([^)]+\)/g);
      

      【讨论】:

        猜你喜欢
        • 2023-04-02
        • 2011-11-24
        • 1970-01-01
        • 2012-04-03
        • 2017-10-21
        • 2015-06-16
        • 2010-11-27
        相关资源
        最近更新 更多