RegexBuddy donne cet avertissement à propos du premier '?'
et si vous le supprimez, cela semble fonctionner, c'est-à-dire ^(.+[^\/:])(?=[?\/]|$)
cependant, si vous essayez d'analyser la baseurl, cette regex ne fonctionnera pas. Utilisez ceci à la place :
select regexp_replace('....', '^(.*:)//([a-z\-.]+)(:[0-9]+)?(.*)$', '\2')