我有c#代码通过多个正则表达式和替换来缩小我的css文件。
在查找css背景图片时,一个正则表达式会搜索“url”的出现。
然而,这个正则表达式也是通过“@import url(stylesheet.css);”找到css中引用的外部样式表。 - 因为它匹配url()部分
是否有一种方法可以使用正则表达式来排除此类匹配,即@import阻止了网址。
c#和regex的新手,很抱歉,如果这是愚蠢的!
提前致谢
答案 0 :(得分:2)
很抱歉,如果表达式不是很精确(因为你没有举例),但很可能你需要一个negative lookbehind,即如果前缀存在则告诉不匹配:
(?<!@import\s*)url
以上匹配“url”,前提是它没有“@import”+任意数量的空格。
要测试正则表达式,您可以使用Expresso或其他类似工具。