Du kan bruge regexp_matches()
i stedet:
update data1
set full_text = (regexp_matches(full_text, 'I [0-9]{1,3}'))[1];
Da der ikke sendes yderligere flag, regexp_matches()
returnerer kun det første match - men det returnerer et array, så du skal vælge det første (og eneste) element fra resultatet (det er [1]
del)
Det er sandsynligvis en god idé at begrænse opdateringen til kun rækker, der ville matche regex i første omgang:
update data1
set full_text = (regexp_matches(full_text, 'I [0-9]{1,3}'))[1]
where full_text ~ 'I [0-9]{1,3}'