Re: order of (escaped) characters in regex range

From: Szymon Guz <mabewlun(at)gmail(dot)com>
To: rob(at)marjot-multisoft(dot)com
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: order of (escaped) characters in regex range
Date: 2011-12-13 13:09:24
Message-ID: CAFjNrYvDVj_et9QU9o9pBwN+rnBq-yfbi_O=80cJQYb_htLwRA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 13 December 2011 14:04, InterRob <rob(dot)marjot(at)gmail(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rob Marjot 2011-12-13 13:28:04 Re: order of (escaped) characters in regex range
Previous Message InterRob 2011-12-13 13:04:52 order of (escaped) characters in regex range