-1

我目前正在制作一种 CSS 缩小器,我认为我想要实现的示例是最简单的解释方式。

我正在尝试改变它:

/* CSS Content */

.class{
    text-align:center;
    border-bottom:1px solid #ccc;
}

.anotherclass, .another, .another{
    text-align:center;
    border-bottom:1px solid #ccc;
}

进入:

.class{text-align:center;border-bottom:1px solid #ccc;}.anotherclass,.another,.another{text-align:center;border-bottom:1px solid #ccc;}

因此:删除comments、 不必要whitespace的 和new lines

到目前为止,我必须删除注释和新行(使用一个表达式和一个函数在 上爆炸字符串\n,然后附加部分)。whitespaces有点困难,因为应该删除whitespaces里面的而不是和之间的。{}colonsemicolon

由于我对正则表达式的使用非常缺乏经验,因此手头没有好的参考书,而且谷歌似乎也没有答案:我想知道这里是否有人可以帮助我创建一个好的正则表达式来实现这一点。

提前致谢!

4

2 回答 2

1

我想你可以尝试这样的事情:

(?<=[{};])\s+|\/\*.+?\*\/

http://rubular.com/r/djDtEPzEV0

清除括号、分号和所有注释前面的空格。

于 2012-11-21T13:45:59.767 回答
1

如果您必须这样做,那么这将缩小您给出的示例:

(/\*[^/]+\*/|^\t*|^\s*|\n|\s+(?=[\{.])|(?<=[\{;])\s+)

它假设您使用的正则表达式的风格允许积极的后视

于 2012-11-21T13:54:17.747 回答