替换具有空声明块的CSS规则集

时间:2015-02-20 08:02:49

标签: c# css regex

我正在寻找一种从CSS字符串中删除空CSS声明块的方法。 因为我使用了很多Sass-mixins,所生成的CSS包含很多没有声明的CSS规则。要删除发送到浏览器的样式表的某些文件大小,我想删除这些规则集。

以下是我的CSS示例:

.my-selector {
   color: red;
}
.my-selector .sub-selector {}
.my-selector .with-whitespace {
}

2 个答案:

答案 0 :(得分:1)

我找到了一种使用正则表达式做到这一点的方法。下面是我在C#中的实现。

css = Regex.Replace(css, @"[^\};\{]+\{\s*\}", "");

它也适用于空媒体查询。

答案 1 :(得分:0)

[^\};\{\n]+\{\s*\}

试试这个。这样会更好。参见演示。

https://regex101.com/r/oL9kE8/7

在这种情况下你的失败。

https://regex101.com/r/oL9kE8/8