Se stai cercando di acquisire la corrispondenza regex risultante dall'espressione, allora substring
farebbe il trucco:
select substring ('I have a dog', 'd[aeiou]g')
Restituirebbe qualsiasi corrispondenza, in questo caso "cane".
Penso che l'anello mancante di quello che stavi provando sopra fosse che devi mettere l'espressione che vuoi catturare tra parentesi. regexp_matches
funzionerebbe in questo caso (se avessi incluso parentesi attorno all'espressione che volevi acquisire), ma restituirebbe una matrice di testo con ogni corrispondenza. Se è una corrispondenza, substring
è abbastanza conveniente.
Quindi, tornando al tuo esempio, se stai cercando di restituire stuff
se e solo se si trova all'inizio di una colonna:
select substring (column, '^(stuff)')
o
select (regexp_matches (column, '^(stuff)'))[1]