Se você estiver tentando capturar a correspondência de regex que resultou da expressão,
substring
faria o truque:select substring ('I have a dog', 'd[aeiou]g')
Retornaria qualquer correspondência, neste caso "cão".
Acho que o elo perdido do que você estava tentando acima era que você precisa colocar a expressão que deseja capturar entre parênteses.
regexp_matches
funcionaria neste caso (se você incluísse parênteses em torno da expressão que deseja capturar), mas retornaria uma matriz de texto com cada correspondência. Se for uma correspondência, substring
é meio conveniente. Então, voltando ao seu exemplo, se você está tentando retornar
stuff
se e somente se estiver no início de uma coluna:select substring (column, '^(stuff)')
ou
select (regexp_matches (column, '^(stuff)'))[1]