You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell正则修改CSS仅替换color属性失败求助

解决PowerShell正则替换CSS属性错误的问题

你的问题出在正则表达式的贪婪匹配上:原正则里的[^{}]+会尽可能多的匹配字符,导致从.actionBlock[selected] {开始,一直匹配到background-color:里的color子串,最终错误替换了background-color属性。

修正后的PowerShell脚本

$file = "theme.css"
$content = Get-Content $file -Raw
# 使用非贪婪匹配 + 精准定位独立的color属性
$content = $content -replace '(\.actionBlock\[selected\]\s*{[^{}]*?color:\s*)([^;]+)(;)', '$1#FFF; /* EDITED : $2 */'
Set-Content -Path $file -Value $content

关键修改点

把原正则中的[^{}]+改成[^{}]*?:

  • [^{}]+是贪婪匹配,会吃掉color:之后直到}前的所有内容,包括background-color:里的color
  • [^{}]*?是非贪婪匹配,匹配到第一个color:就停止向后延伸,确保只定位到目标的color属性行

效果验证

修改后脚本会精准替换目标行:
原CSS片段:

.actionBlock[selected] {
        color: var(--gray11);
        background-color: var(--gray11);
    }

替换后变为:

.actionBlock[selected] {
        color: #FFF; /* EDITED : var(--gray11) */
        background-color: var(--gray11);
    }

内容的提问来源于stack exchange,提问作者user2976880

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 19:29:53