我有一个正则表达式来从 css 中获取背景 url:
/(@import.*?)?url\(([^)]+)\)/gi
这对于大多数情况都适用。然而,野外的CSS则是另一回事了。即使它无效,我也需要匹配 url('/pix/ajax/ajax-loader (2).gif')
,以及更典型的内容,如 url(/ Assets /domainsbg@2x-0d8ea9b405f202ff135ced3cdb4658cc.png)
。我已经发挥了有限的正则表达式能力,并且需要一些帮助。我正在使用的测试用例是:
background: url('/pix/ajax/ajax-loader (2).gif')
background: url(/pix/ajax/ajax-loader (2).gif)
background: url(/assets/domainsbg@2x-0d8ea9b405f202ff135ced3cdb4658cc.png)
background: url('/assets/domainsbg@2x-0d8ea9b405f202ff135ced3cdb4658cc.png')
background-image: url(file.gif);
background-image: url('file.gif') no-repeat;
background: #FF0000 url( "file.gif" ) no-repeat ;
background: #FF0000 url( "file%20space.gif" ) no-repeat;
仅供引用,我知道正则表达式是有问题的,并且用它进行解析通常不是最好的解决方案,但在这种情况下我陷入了困境。
请您参考如下方法: