做CSS精简时可能会用到的正则表达式

来源:互联网 责任编辑:栏目编辑 发表时间:2013-07-02 04:18 点击:

注意:本文提到的正则表达式都使用了IgnoreCase=true选项。

我观察了YUI Compressor中用于精简CSS的正则表达式,并给出了一些我认为能有助于这一工作的其他正则表达式。

我所看到的代码已经能够通过简单的字符串替换修剪掉“上-右-下-左”值中不必要的零值。但这是通过三个独立的替换操作完成的。如果能用正则表达式处理这种情况,代码将会变得更简单。

(伪代码)

string.Replace(":0 0 0 0;","0;")

string.Replace(":0 0 0;","0;")

string.Replace(":0 0;","0;")

可以变为:

Regex.Replace(input,":("s*0)("s+0){0,3}"s*;",":0;")

够简单了吧。但我想,怎么能就此停滞不前呢?于是我给出了可以处理所有数值的正则表达式:

:"s*(0|(?:(?:"d*".?"d+(?:p(?:[xct])|(?:[cem])m|%|in|ex))))("s+"1){1,3};
(【译注】测试地址:http://regex-lib.net/Regex/Test/?id=d090db4eaf3b41e2b4e75290ad5fe670

用于进行替换的字符串很简单:“:$1”。

这一步完成后,下面就是处理各个数值并不全为0的情形。

如果您不大了解CSS,这里简单说一下,此处可能出现4个值:

1)如果只指定一个值,则另外三个值也都隐式地指定为相同的值(X = X X X);

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • WordPress添加百度喜欢按钮小技巧
  • Wordpress 博客如何实现自定义Gravatar头像
  • 网站设计分析:建立良好的视觉层级
  • 网站设计分析:“中国式设计”的三个方向
  • 案例分析:奥巴马筹款网站的制作过程
  • 创建不平衡的平衡:在网页设计中使用不对称设计
  • 7大主流B2C首页导航栏设计对比分析
  • Wordpress页面模板制作方法及使用
  • css控制文字前的小图标
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1