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\1
ze 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.