得到身體的背景色我有這個字符串:我需要用正則表達式
"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