我会尽量简洁。
我只想捕获括号内的字符串:background-image:url()
我已经尝试了几个小时,我能想到的最好的是(?<!\@\*)(?<=url\().*(?=\))
。(Try it online)
这几乎是完美的,除非有这样的代码行或任何缩小的CSS代码:background-image:url(/images/products/[email protected]);height:0;background-image:url("/images/products/[email protected]")
它捕获了从第一个开放括号到最后一个封闭括号的所有内容,包括两者之间不相关的样式。
我只想捕获url()
之间的字符串。
使用正负查找:/(?<=background-image:\s*url\().*(?=\))/ig
将返回background-image: url()
调用中的所有内容,并使用\s*
来捕获空格。
使用正则表达式
(?<=background-image:url\()(.+?)(?=\))
可以在xxx
中找到所有background-image:url(xxx)
,但不包括background-image:url()
您可以在https://regexr.com中检查结果,如下所示:
look around
= look ahead
和look behind
,这是我的摘要: