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 に答える