regex yang digunakan di PostgreSQL sebenarnya diimplementasikan menggunakan paket perangkat lunak yang ditulis oleh Henry Spencer. Tidak aneh, memiliki kelebihan, kekhasan tersendiri.
Salah satu perbedaan dari mesin regex NFA biasa adalah batas kata. Di sini, \Y
cocok dengan batas non-kata. Sisa pola yang Anda butuhkan adalah pola yang cukup dikenal.
Jadi, Anda perlu menggunakan '^(\w+)|\Y\w'
pola dan '\1'
pengganti.
Detail :
^
- awal jangkar string(\w+)
- Menangkap grup 1 pencocokan 1+ karakter kata (ini akan dirujuk dengan\1
dari pola penggantian)|
- atau\Y\w
- kata char yang didahului dengan karakter kata lain.
\1
disebut pengganti referensi balik bernomor
, yang hanya menempatkan nilai yang ditangkap dengan Grup 1 ke dalam hasil penggantian.