试图从CSS中解析图像,但在压缩CSS文件上使用正则表达式时中断


Trying to parse out images from CSS but regex breaks when used on compressed CSS files

我正在为一个项目从CSS文件中解析图像路径,下面的表达式工作得很好,只要所讨论的CSS文件没有被压缩/缩小。

下面是我使用的表达式:

"/url'((.+)')./"

当我使用preg_match_all()对CSS,如谷歌的主页上的内联压缩CSS,它返回的结果与整个内联CSS块。我在表达式中遗漏了什么导致这个失败?

添加?+后,使匹配非贪婪:url'((.+?)').

或者,匹配只排除右父级的字符类:url'(([^)]+)').

第二个要快得多,顺便说一下