1

我正在寻找一个正则表达式,它将在 CSS 文件中查找并替换某些模式,例如在以下字符串中:

.boxOneHeading, .boxTwoHeading, .boxThreeHeading
{
    font-size: 18px;
    font-family: MuseoSans500;
    padding: 10px 15px;
    width: 273px;
    background-color: #fbfbfb;
    background-color: #ffffff;
    background-color: #ffcc00;
}

我正在使用以下正则表达式:#?[\s]*(.{1})\1{1}(.{1})\2{1}(.{1})\3{1} 这是正确的发现:

#ffffff and
#ffcc00

但我只想找到#ffcc00 值并将它们替换为#fc0。

我要为此添加什么到正则表达式?

问候, 雅克

4

2 回答 2

4

这是一个例子:

var color = "#ffcc00";
var replaced = Regex.Replace(color, @"#(\w)\1(\w)\2(\w)\3", "#$1$2$3");
Console.WriteLine(replaced);

但我只想找到 #ffcc00 值并将它们替换为 #fc0

我对此有点失望,此时这基本上不是查找/替换吗?

var replaced = css.Replace("#ffcc00", "#fc0");
于 2012-05-11T14:09:23.267 回答
1
regex: ([0-9a-f])\1([0-9a-f])\2([0-9a-f])\3
replace: $1$2$3

正则表达式链接

于 2012-05-11T14:11:40.680 回答