Wenn Sie versuchen, die aus dem Ausdruck resultierende Regex-Übereinstimmung zu erfassen, dann substring
würde den Trick machen:
select substring ('I have a dog', 'd[aeiou]g')
Würde jede Übereinstimmung zurückgeben, in diesem Fall "Hund."
Ich denke, das fehlende Glied dessen, was Sie oben versucht haben, war, dass Sie den Ausdruck, den Sie erfassen möchten, in Klammern setzen müssen. regexp_matches
würde in diesem Fall funktionieren (wenn Sie den zu erfassenden Ausdruck in Klammern eingeschlossen hätten), würde aber bei jeder Übereinstimmung ein Textarray zurückgeben. Wenn es eine Übereinstimmung gibt, substring
ist irgendwie praktisch.
Kommen wir also zurück zu Ihrem Beispiel, wenn Sie versuchen, stuff
zurückzugeben wenn und nur wenn es am Anfang einer Spalte steht:
select substring (column, '^(stuff)')
oder
select (regexp_matches (column, '^(stuff)'))[1]