Jeśli próbujesz uchwycić dopasowanie wyrażenia regularnego, które wynika z wyrażenia, wtedy substring
załatwi sprawę:
select substring ('I have a dog', 'd[aeiou]g')
Zwróci dowolne dopasowanie, w tym przypadku „pies”.
Myślę, że brakującym ogniwem tego, co próbowałeś powyżej, było to, że musisz umieścić wyrażenie, które chcesz uchwycić w nawiasach. regexp_matches
zadziałałoby w tym przypadku (gdybyś umieścił nawiasy wokół wyrażenia, które chcesz przechwycić), ale zwróci tablicę tekstu z każdym dopasowaniem. Jeśli jest to jedno dopasowanie, substring
jest dość wygodne.
Wracając więc do swojego przykładu, jeśli próbujesz zwrócić stuff
wtedy i tylko wtedy, gdy jest na początku kolumny:
select substring (column, '^(stuff)')
lub
select (regexp_matches (column, '^(stuff)'))[1]