RegexBuddy ger denna varning om det första '?'
och om du tar bort det verkar det fungera, dvs ^(.+[^\/:])(?=[?\/]|$)
men om du försöker analysera baseurl så fungerar inte regex. Använd detta istället:
select regexp_replace('....', '^(.*:)//([a-z\-.]+)(:[0-9]+)?(.*)$', '\2')