Re: order of (escaped) characters in regex range - Mailing list pgsql-general

From InterRob
Subject Re: order of (escaped) characters in regex range
Date
Msg-id CA+DVeYDSAM9bK+bhCH7cF4KynLFFAYgrGoU-bBvZt+VAtftghA@mail.gmail.com
Whole thread Raw
In response to Re: order of (escaped) characters in regex range  (Szymon Guz <mabewlun@gmail.com>)
List pgsql-general
True, but still weird...

And are you sure it does the same thing?

2011/12/13 Szymon Guz <mabewlun@gmail.com>


On 13 December 2011 14:04, InterRob <rob.marjot@gmail.com> wrote:
Dear List,

I found this interesting:

SELECT regexp_matches('123-A' , E'(3[A-Z\- ])');
ERROR:  invalid regular expression: invalid character range

whereas:
SELECT regexp_matches('123-A' , E'(3[\- A-Z])');
 regexp_matches
----------------
 {3-}
(1 row)

Notice the order of (escaped) characters and ranges in the last bit of the expression.

Am I missing some key concept of the regular expression?

Regards,
Rob

Hi Rob,
try '\\-' instead of '\-'
and it works :)

regards
Szymon

pgsql-general by date:

Previous
From: Szymon Guz
Date:
Subject: Re: order of (escaped) characters in regex range
Next
From: David Johnston
Date:
Subject: Re: order of (escaped) characters in regex range