regexp_matches()
を使用できます 代わりに:
update data1
set full_text = (regexp_matches(full_text, 'I [0-9]{1,3}'))[1];
追加のフラグが渡されないため、regexp_matches()
最初の一致のみを返しますが、配列を返すため、結果から最初の(そして唯一の)要素を選択する必要があります(これが[1]
です。 一部)
更新を、そもそも正規表現に一致する行のみに制限することをお勧めします。
update data1
set full_text = (regexp_matches(full_text, 'I [0-9]{1,3}'))[1]
where full_text ~ 'I [0-9]{1,3}'