RegexBuddy wyświetla ostrzeżenie dotyczące pierwszego znaku „?”
a jeśli go usuniesz, wydaje się, że działa, tj. ^(.+[^\/:])(?=[?\/]|$)
jednak jeśli próbujesz przeanalizować adres URL bazy, to wyrażenie regularne nie zadziała. Użyj tego zamiast:
select regexp_replace('....', '^(.*:)//([a-z\-.]+)(:[0-9]+)?(.*)$', '\2')