首頁  >  文章  >  後端開發  >  有没有婚配url但除了图片之外的正则表达式

有没有婚配url但除了图片之外的正则表达式

WBOY
WBOY原創
2016-06-13 11:20:03771瀏覽

有没有匹配url但除了图片之外的正则表达式?
例如http://www.abc.com/和http://www.abc.com/images/index.php都能匹配,
但http://www.abc.com/images/logo.gif就不能匹配。
我写的表达式会匹配到http://www.abc.com/images/logo.这段

(http\://)?([a-z0-9_-]+\.)+(com|net|cn|org){1}(\/[a-z0-9_-]+)*\.?(?!jpg|jpeg|gif|png|bmp)


------解决方案--------------------
刚才没有测试环境,随意写的,想想有点问题,找了个环境重新写了一个

$s='http://www.abc.com/image/index.php"http://www.abc.com/images/logo.gif"';
preg_match_all('#/[^/]*(?------解决方案--------------------
gif))"#', $s, $m); // -6
var_export($m);

大致吧,你自己理解一下再修改来用
这里\....匹配圆点和三字符的扩展名,没有圆点扩展名或者不是三个字符的情况自己摸索吧
------解决方案--------------------
(?i)(?:https?
------解决方案--------------------
ftp)://[-a-z\d.]+/?(?!/)([-a-z\d+&@#%=~_
------解决方案--------------------
!:,.;]+/)*(?#去掉图片的URl)(?![-a-z\d+&@#%=~_!,.;].*?\.(?:jpg
------解决方案--------------------
jpeg
------解决方案--------------------
gif
------解决方案--------------------
png
------解决方案--------------------
bmp))[-a-z\d+&@#%=~_!,.;]*(?:\?[a-z\d+&@#/%=~_
------解决方案--------------------
!:,.;]*)?
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn