regex używany w PostgreSQL jest faktycznie zaimplementowany przy użyciu pakietu oprogramowania napisanego przez Henry'ego Spencera. To nie jest dziwne, ma swoje zalety, osobliwości.
Jedną z różnic w porównaniu ze zwykłymi silnikami regex NFA jest granica słów. Tutaj, \Y pasuje do granicy niebędącej wyrazem. Pozostałe wzory, których potrzebujesz, są dość znane.
Musisz więc użyć '^(\w+)|\Y\w' wzór i '\1' wymiana.
Szczegóły :
^- początek kotwicy sznurka(\w+)- Grupa przechwytywania 1 pasujące znaki co najmniej 1 słowa (będzie się to odnosić do\1ze wzoru zastępczego)|- lub\Y\w- znak słowa poprzedzony innym znakiem słowa.
\1 nazywa się zastępczym numerowanym odwołaniem wstecznym
, który po prostu umieszcza wartość przechwyconą w grupie 1 w wyniku zamiany.