Excerpts from Marc Mamin's message of mar jun 14 12:31:34 -0400 2011: > > The following bug has been logged online: > > Bug reference: 6057 > Logged by: Marc Mamin > Email address: m...@intershop.de > PostgreSQL version: 9.0.4 > Operating system: Windows > Description: regexp_replace & back references > Details: > > select regexp_replace ('a','(a)','\\1'||substring('\\1',1,1)||'\\1','g') > = a\1 > I'd expect a\1a as result.
Note that the substring returns a single character which is a literal \. That \ escapes the \ in the final '\\1', which turns into the literal \ that you see in the result. The subsequent 1 is the leftover char from the final '\\1'. I think this is clearer if you set standard_conforming_strings to on. -- Álvaro Herrera <alvhe...@commandprompt.com> The PostgreSQL Company - Command Prompt, Inc. PostgreSQL Replication, Consulting, Custom Development, 24x7 support -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs