PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Warum funktioniert diese Regex nicht in PostgreSQL

RegexBuddy gibt diese Warnung über das erste '?'

aus

und wenn Sie es entfernen, scheint es zu funktionieren, dh ^(.+[^\/:])(?=[?\/]|$)

Wenn Sie jedoch versuchen, die Basis-URL zu analysieren, funktioniert diese Regex nicht. Verwenden Sie stattdessen Folgendes:

select regexp_replace('....', '^(.*:)//([a-z\-.]+)(:[0-9]+)?(.*)$', '\2')