O regex usado no PostgreSQL é realmente implementado usando um pacote de software escrito por Henry Spencer. Não é estranho, tem suas próprias vantagens, peculiaridades.
Uma das diferenças dos mecanismos usuais de regex NFA é o limite da palavra. Aqui,
\Y
corresponde a um limite de não-palavra. O resto dos padrões que você precisa são bastante conhecidos. Então, você precisa usar
'^(\w+)|\Y\w'
padrão e um '\1'
substituição. Detalhes :
^
- início da âncora de string(\w+)
- Grupo de captura 1 caracteres de 1 ou mais palavras correspondentes (isso será referido com\1
do padrão de substituição)|
- ou\Y\w
- um caractere de palavra que é precedido por outro caractere de palavra.
O
\1
é chamado de substituição referência numerada
, que apenas coloca o valor capturado com o Grupo 1 no resultado de substituição.