从JavaScript中的css规则中提取RGB和RGBA

时间:2014-07-21 10:46:55

标签: javascript regex

我有一些如下字符串:

"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,但这个答案对我没有帮助。

2 个答案:

答案 0 :(得分:3)

  

我想从搅拌中提取所有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

答案 1 :(得分:1)

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

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