我正在嘗試使用正則運算式將演算法應用于字串中的所有 rgb。
let st = `
:root {
--bg-body: rgb(14, 14, 34);
--bg-wrapper: rgb(14,14,35);
--color-left-hover: rgb(66,85, 212);
--bg-header: radial-gradient(circle, rgb(20, 24, 52) 0%, rgb(19, 22, 47) 100%);
}
`
st.replaceAll(/rgb\(.*\)/g, rgb=>{
console.log(rgb);
});
[Log] rgb(14, 14, 34)
[Log] rgb(14,14,35)
[Log] rgb(66,85, 212)
[Log] rgb(20, 24, 52) 0%, rgb(19, 22, 47) 100%)
似乎正則運算式不適用于最后一個。指的是rgb 值的 Javascript 正則運算式,我嘗試了一些運算式,但是我通常得到:
TypeError: String.prototype.replaceAll argument must not be a non-global regular expression
或正則運算式未回傳有效的映射結果。
我將非常感謝您的幫助。
uj5u.com熱心網友回復:
我會match在這里使用:
let st = `
:root {
--bg-body: rgb(14, 14, 34);
--bg-wrapper: rgb(14,14,35);
--color-left-hover: rgb(66,85, 212);
--bg-header: radial-gradient(circle, rgb(20, 24, 52) 0%, rgb(19, 22, 47) 100%);
}
`
var matches = st.match(/rgb\(\d ,\s*\d ,\s*\d \)/g);
console.log(matches);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/429545.html
標籤:javascript 正则表达式 RGB
下一篇:如何在反應狀態下更新陣列中的值?
