我有這種來自檔案的 SVG 字串
<svg>
<g fill="#767676" />
<path d="M15.7198 19.5836C15.4" fill="#767676" />
</svg>
我只想從<path>元素中洗掉每個填充屬性,所以它變成這樣
<svg>
<g fill="#767676" />
<path d="M15.7198 19.5836C15.4" />
</svg>
我試過這個正則運算式,但它以某種方式洗掉了fill其他元素的屬性。
svgString.replace(/(?:<path)*fill=["|'](.*?)["|']\s*/g, '')
這部分(?:<path)排除了標簽元素不被洗掉但仍然缺少選擇僅<path />元素的正確方法并在此停留了一段時間。希望有人能告訴我正確的方法。謝謝
uj5u.com熱心網友回復:
這是一個脆弱的解決方案,但如果支持后向斷言,那么回顧<path 后面的任何字符(尖括號除外)然后匹配填充屬性就足夠了。
在替換中使用空字串。
(?<=<path\b[^<>]*)\s*\bfill=(["']).*?\1
正則運算式演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/492514.html
標籤:javascript 正则表达式 细绳 svg
