得到身体的背景色我有这个字符串:我需要用正则表达式
"body{
background-color: #dfdfdf;
}
"
我需要的背景颜色(#dfdfdf)。颜色也可以是rgba(120,120,120),所以我需要用正则表达式来获得该颜色。 我已经试过:
^(?=background\-color:\s?)[^;]+$
,但它不工作
得到身体的背景色我有这个字符串:我需要用正则表达式
"body{
background-color: #dfdfdf;
}
"
我需要的背景颜色(#dfdfdf)。颜色也可以是rgba(120,120,120),所以我需要用正则表达式来获得该颜色。 我已经试过:
^(?=background\-color:\s?)[^;]+$
,但它不工作
这工作:
/\s*background-color:\s*(#[a-fA-F\d]{6})/
使用match()
方法测试的字符串。它接受一个正则表达式参数,并返回一个包含结果的数组,如果匹配或否则为null
。
是的,但我只需要背景颜色属性的颜色代码。如果我有另一个CSS规则,比如颜色,文字颜色,会怎么样? – Eduardo
@edwardoyarzun我编辑了我的答案。核实 –
以上答案仅限于颜色#dfdfdf。这里有一个工程:
/\s*background-color:\s*(\#[\w]{6}|rgba\(\d{3},\d{3},\d{3}\))/
或:
/\s*background-color:\s*(\#[\w]+|rgba\(\d+,\d+,\d+\))/
但我宁愿使用第一个,因为它规定了需要的字母或数字量。 你可以看到我甚至添加了你问的rgba解决方案。因此,将匹配 “#dfdfdf”, “体{背景色:#dfdfdf;}” 中和 “RGBA(120120120)”, “体{背景色:RGBA(123234233);}”
编辑: 关于它的思考,颜色也可以是RGB,甚至颜色名称,所以这里是最好的解决办法:
/\s*background-color:\s*([\w(),#]+)/
你想整行或只是颜色代码是否一致? –
只是颜色代码 – Eduardo
没有。我找不到解决方案 – Eduardo