我在这里https://regex101.com/r/ZDof07/1
我需要选择不包含http的字符串。
因此,在我的示例中,我需要获取字符串:
url ( /global/css/bootstrap/fonts/glyphicons-halflings-regularhttp.eot )
url(/global/css/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix)
我使用以下正则表达式:
/url\s*\((?!http)[^\)]+\)/gmi
表达式甚至包含更多的字符串:
url( http://www.neco.cz/global/css/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix)
但是我不想要它,因为它包含一个“ http”
答案 0 :(得分:2)
您可以将此正则表达式与更正的超前断言一起使用:
url\s*\((?![^)]*http:)[^)]+\)
这里(?![^)]*http:)
是一个否定的超前断言,如果我们前面有0个或更多http:
个字符之后有字符串non-(
,则匹配失败。