Hi,

Could someone explain the following behaviour?

SELECT regexp_replace(E'Hello & goodbye ',E'([&])','&#' ||
ascii(E'\\1') || E';\\1');

This returns:

     regexp_replace
------------------------
 Hello \& goodbye
(1 row)

So it matched:

SELECT chr(92);
 chr
-----
 \
(1 row)

But notice that when I append the value it's supposed to have matched
to the end of the replacement value, it shows it should be '&'.

Just to confirm:

SELECT ascii('&');
 ascii
-------
    38
(1 row)

So I'd expect the output of the original statement to be:

     regexp_replace
------------------------
 Hello && goodbye
(1 row)

What am I missing?

-- 
Thom

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to