Re: Referencing parts captured by round brackets in a regex in 8.4.13 - Mailing list pgsql-general

From Alban Hertroys
Subject Re: Referencing parts captured by round brackets in a regex in 8.4.13
Date
Msg-id CAF-3MvM8mA_u-KrUDcXXJv4bh+XpqnK+HbN0_R0GjJTVc=kPPA@mail.gmail.com
Whole thread Raw
In response to Re: Referencing parts captured by round brackets in a regex in 8.4.13  (Alexander Farber <alexander.farber@gmail.com>)
Responses Re: Referencing parts captured by round brackets in a regex in 8.4.13
List pgsql-general
On 22 March 2013 16:08, Alexander Farber <alexander.farber@gmail.com> wrote:
Thank you, this works better, but -
 
the result is correctly "true" now,
but the warning is still there, why?

# select 'axxxxxyz' ~ '(.)\\1\\1';
WARNING:  nonstandard use of \\ in a string literal
LINE 1: select 'axxxxxyz' ~ '(.)\\1\\1';
                            ^
HINT:  Use the escape string syntax for backslashes, e.g., E'\\'.
 ?column?
----------
 t
(1 row)
 
Because backslash is not normally a valid escape character in an SQL string literal.

You can turn off the warning in your settings, or you can be explicit about wanting a string literal that can include such escape characters by using the E'<string>' notation.

I seem to recall that there's a string literal notation specific to regular expressions as well (R'<regular expression>'?), but I may be mixing up databases...

--
If you can't see the forest for the trees,
Cut the trees and you'll see there is no forest.

pgsql-general by date:

Previous
From: Victor Yegorov
Date:
Subject: Re: Referencing parts captured by round brackets in a regex in 8.4.13
Next
From: Tom Lane
Date:
Subject: Re: Rewritten rows on unchanged values