Als je probeert de regex-overeenkomst vast te leggen die het resultaat is van de expressie, dan substring
zou het lukken:
select substring ('I have a dog', 'd[aeiou]g')
Zou elke match retourneren, in dit geval 'hond'.
Ik denk dat de ontbrekende schakel van wat je hierboven probeerde, was dat je de uitdrukking die je wilt vastleggen tussen haakjes moet zetten. regexp_matches
zou in dit geval werken (als u haakjes had opgenomen rond de uitdrukking die u wilde vastleggen), maar zou bij elke overeenkomst een array met tekst retourneren. Als het één overeenkomst is, substring
is een beetje handig.
Dus, om terug te keren naar uw voorbeeld, als u probeert stuff
te retourneren als en alleen als het aan het begin van een kolom staat:
select substring (column, '^(stuff)')
of
select (regexp_matches (column, '^(stuff)'))[1]