如何编辑以下正则表达式
/(?<=src=")(.*?)(?=")/ui
只获得与jpeg,png,gif结束的匹配,如下所示?
!http://.+\.(?:jpe?g|png|gif)!Ui
谢谢
答案 0 :(得分:1)
/(?<=src=")([^"]+\.(jpe?g|png|gif))(?=")/ui
替换中间的。*(它代表文件名) - 所以只有当文件名以jpg,jpeg,png,gif结尾时才会匹配
编辑:
带有查询字符串的Solutin是:
/(?<=src=")([^"]+\.(jpe?g|png|gif))(\?[^"]*)?(?=")/ui
我换了。使用[^“],因为双引号在URI中无效(并且经常不使用) - 或者您可以使用此([^”] |(?&lt; = \)|“)来转义双引号
答案 1 :(得分:1)
并取而代之的是(.*?)
优先使用([^"]+)
。