Si está tratando de capturar la coincidencia de expresiones regulares que resultó de la expresión, entonces substring
haría el truco:
select substring ('I have a dog', 'd[aeiou]g')
Devolvería cualquier coincidencia, en este caso "perro".
Creo que el eslabón perdido de lo que estabas intentando anteriormente era que necesitas poner la expresión que quieres capturar entre paréntesis. regexp_matches
funcionaría en este caso (si hubiera incluido paréntesis alrededor de la expresión que deseaba capturar), pero devolvería una matriz de texto con cada coincidencia. Si es una coincidencia, substring
es algo conveniente.
Entonces, volviendo a tu ejemplo, si estás tratando de devolver stuff
si y solo si está al principio de una columna:
select substring (column, '^(stuff)')
o
select (regexp_matches (column, '^(stuff)'))[1]