Мой вариант использования следующий:
String text_string: "text1:message1,text3:message3,text2:message,..."
select regexp_replace(text_string, '[^:]*:([^,]*(,|$))', '$1')
Correct output: message1,message3,message2,...
Шаблон работает, но проблема в том, что если в сообщении есть символ ":" o ", замена не работает.
Поэтому я попытался использовать символы "::" и ",," в качестве разделителей в строке
String text_string: "text1::message1,,text3::message3,,text2::message2,..."
select regexp_replace(text_string, '[^::]*::([^,,]*(,,|$))', '$1')
Correct output: message1,,message3,,message2,,...
, но также и в этом случае, если есть одно ":" илиСимвол «,» в строке (в тексте или в сообщении) команда замены не работает.
Как следует изменить регулярное выражение для работы?