问题描述
只需使用来启动您的正则表达式(?!.*(?:\.jpe?g|\.gif|\.png)$)
,
因此,如果您当前的正则表达式为\b(?:https?|ftp|file)://...
,则将其合并到
(?!.*(?:\.jpe?g|\.gif|\.png)$)\b(?:https?|ftp|file)://...
另请阅读PHP URL验证
解决方法
我想匹配所有URL,但从与该正则表达式匹配的beeing中排除图像URL:jpe?g | gif | png。
\ b(?:https?| ftp | file):// [-A-Z0-9 +&@#/%?=〜 | $!:,。;] * A-Z0-9 +&@# /%=〜
| $
问题是带有排除项的部分不能像这样工作:(?!jpe?g | gif | png)
有人对此有解决方案吗?
例:
不匹配:
http://example.com/example.jpg
http://example.com/example231/example.gif
比赛:
http://example.com/example.html
http://example.com/example/?id=4331
http://example.com/example/example/ex_ample/ex-ample/?id=4331