正则表达式在css文件中排除@import urls

时间:2011-11-16 21:46:16

标签: c# css regex

我有c#代码通过多个正则表达式和替换来缩小我的css文件。

在查找css背景图片时,一个正则表达式会搜索“url”的出现。

然而,这个正则表达式也是通过“@import url(stylesheet.css);”找到css中引用的外部样式表。 - 因为它匹配url()部分

是否有一种方法可以使用正则表达式来排除此类匹配,即@import阻止了网址。

c#和regex的新手,很抱歉,如果这是愚蠢的!

提前致谢

1 个答案:

答案 0 :(得分:2)

很抱歉,如果表达式不是很精确(因为你没有举例),但很可能你需要一个negative lookbehind,即如果前缀存在则告诉不匹配:

(?<!@import\s*)url

以上匹配“url”,前提是它没有“@import”+任意数量的空格。

要测试正则表达式,您可以使用Expresso或其他类似工具。