Postgresql 替换所有出现的字符串+

Postgresql replace all occurrences of string+

我有这个字符串:

this is the abcd xxx
string I want to abcd yyy
replace in my text abcd zzz

现在我想用空白替换 abcd 和后面的任何内容。

我想要这个结果:

this is the
string I want to 
replace in my text 

我试过了:

select regexp_replace(str, 'abcd.*','','gi')

但它只是在第一次匹配后删除了所有内容。还有其他没有运气的组合。

我错过了什么?

谢谢!

regexp_replace():

中使用标志n(换行敏感匹配)
with my_table(str) as (
values(
'this is the abcd xxx
string I want to abcd yyy
replace in my text abcd zzz')
)

select regexp_replace(str, 'abcd.*','','gin')
from my_table

   regexp_replace    
-----------------
 this is the        +
 string I want to   +
 replace in my text 
(1 row)