Eu não acho que haja uma maneira legal de fazer isso com apenas uma substituição. Mas se quatro substituições estiverem bem, proceda da seguinte forma:
-
Substitua
\A'por(ou seja, substitua'no início da cadeia). -
Substitua
'\Zpor(ou seja, substitua'no final da string). -
Substitua globalmente
([^[:alnum:]])'por(ou seja, substitua todas as seqüências de caracteres não alfanuméricos e'pelo caractere não alfanumérico e). -
Substitua globalmente
'([^[:alnum:]])por(ou seja, substitua cada sequência de'e um caractere não alfanumérico pore o caractere não alfanumérico.)
O efeito líquido é substituir cada ' , exceto aqueles que são precedidos e seguidos por um caractere alfanumérico.
Aviso: Eu não faço idéia do PostgreSQL; você tem que traduzi-lo na sintaxe do PostgreSQL você mesmo.