Java 匹配所有URL,不包括jpg、gif、png

Java 匹配所有URL,不包括jpg、gif、png,java,php,regex,match,imageurl,Java,Php,Regex,Match,Imageurl,我想匹配所有URL,但不包括与regex:jpe?g | gif | png匹配的图像URL \b(?:https?| ftp |文件):/[-A-Z0-9+&@#/%?=~|$!:,.;]*A-Z0-9+&@#/%=~_|$ 问题是带有exclude的部分不是这样工作的:(?!jpe?g | gif | png) 有人有解决办法吗 例如: 不匹配: http://example.com/example.jpg http://example.com/example231/example.gif

我想匹配所有URL,但不包括与regex:jpe?g | gif | png匹配的图像URL

\b(?:https?| ftp |文件):/[-A-Z0-9+&@#/%?=~|$!:,.;]*A-Z0-9+&@#/%=~_|$

问题是带有exclude的部分不是这样工作的:(?!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  

只需使用
(?!.*(:\.jpe?g|\.gif|\.png)$)启动正则表达式

因此,如果当前正则表达式是
\b(?:https?| ftp | file)://…
,则将其合并到

(?!.*(\.jpe?g |\.gif |\.png)$)\b(?:https?| ftp |文件)://……


另请阅读

只需使用
(?!.*(\.jpe?g|\.gif|\.png)$)启动正则表达式即可

因此,如果当前正则表达式是
\b(?:https?| ftp | file)://…
,则将其合并到

(?!.*(\.jpe?g |\.gif |\.png)$)\b(?:https?| ftp |文件)://……


另请阅读

我正在处理一个最近关闭的重复问题,因此我将在这里发布它:

(?!*(png | jpg | gif)(?!)(?:https?| file | ftp):\/\/.\。\(?:com | ca | net | museum | org | co\.uk))

如果合适,可以随意添加更多协议,如果合适,可以添加更多图像扩展,如果合适,可以添加更多顶级域


我正在为一个最近被关闭的重复问题处理这个问题,所以我将在这里发布它:

(?!*(png | jpg | gif)(?!)(?:https?| file | ftp):\/\/.\。\(?:com | ca | net | museum | org | co\.uk))

如果合适,可以随意添加更多协议,如果合适,可以添加更多图像扩展,如果合适,可以添加更多顶级域