title: Regex expression excludes links with weird URL
body: <p>I have this regex expression (Java / JavaScript)</p>
  
  <pre><code>/(http|ftp|https):\/\/([\w+?\.\w+])+([a-zA-Z0-9\\~\\!\\@\\#\\$\\%\\^\\&amp;\\*\\(\\)_\-\\=\\+\\\\\/\\?\\.\\:\\;\\'\\,]*\.(?:jpg|JPG|jpeg|JPEG|gif|GIF|png|PNG|bmp|BMP|tiff|TIFF))?/
  </code></pre>
  
  <p>But it seem to have issues with a URL like this one :</p>
  
  <blockquote>
    <p><code>https://cdn.vox-cdn.com/thumbor/C07imD1SHmAnbObkg-nJ92N6sD8=/0x0:4799x3199/920x613/filters:focal(2017x1217:2783x1983):format(webp)/cdn.vox-cdn.com/uploads/chorus_image/image/62871037/seattle.0.jpg</code></p>
  </blockquote>
  
  <p>What do you think is missing in my expression?
  I want to accept valid image URL.</p>