代码之家  ›  专栏  ›  技术社区  ›  GPX

在C#正则表达式中使用条件替换进行CSS缩小

  •  0
  • GPX  · 技术社区  · 15 年前

    嘿,伙计们,我正在用Visual Studio中的C#制作一个缩小CSS代码的应用程序。现在我遇到了一段代码,它去掉了ID选择器的所有前缀。

    strCSS = Regex.Replace(strCSS, @"[a-zA-Z]+#", "#");
    

    但是,这也会删除ID选择器前面的任何类名。例如,

    #interior .field#user-comment
    {}
    

    当通过Regex时,将成为-

    #interior .#user-comment
    {}
    

    我如何防止这种情况发生?我应该用一个 ? 正则表达式中的条件,或 Match ?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Domenic    15 年前

    我认为你根本不应该这样做。

    <span class="InputReplacement" id="Email">user@example.com</span> 一种情况下,另一种情况下, <input id="Email" type="email" /> input#Email ,但不是 span#Email ? 或者每个都有不同的款式?

    通过这样做,您正在更改CSS的含义,以便它可以在与原始CSS相同的输入上给出不同的结果。这不是CSS缩小,而是CSS修改。