我正在尝试扩展缩小的CSS文件(不要问)以使其具有人类可读性。 我已经成功完成了大部分的扩展,但我陷入了一个非常奇怪的案例,我无法弄明白。
我的CSS看起来像这样:
.innerRight {
border:0;color:#000;width:auto;padding-top:0;margin:0;
}
a {
color:#000;text-decoration:underline;font-size:12px;
}
p,small,ul,li {
color:#000;font-size:12px;padding:0;
}
我已尝试(.+):(.+);
作为搜索,\t\1: \2;\n
作为替换。查找RegEx是有效的,唯一的问题是它匹配整个属性行。我尝试过非贪婪的角色,但我不能把它放在正确的位置。
上面找到的RegEx匹配的是:
0: border:0;color:#000;width:auto;padding-top:0;margin:0;
1: color:#000;text-decoration:underline;font-size:12px;
2: color:#000;font-size:12px;padding:0;
虽然这些是技术上正确的匹配,但我需要它分别匹配border:0;
,color:#000;
等,以便我的替换工作。
答案 0 :(得分:3)
试试这个 - 使用非贪婪的匹配。这对我有用
(.+?):(.+?);
答案 1 :(得分:0)
忘记结肠。只需用“; \ n”替换所有分号。
例如,在Javascript中,您可以写:
text = text.replace(/;/gm,";\n");
我会进一步完善它以解决领先空间问题等问题,但这会将每一种风格规则都放在自己的路线上。