Re: BUG #4438: regexpression gives the error by working with [ - Mailing list pgsql-bugs

From hubert depesz lubaczewski
Subject Re: BUG #4438: regexpression gives the error by working with [
Date
Msg-id 20080927075558.GA7867@depesz.com
Whole thread Raw
In response to BUG #4438: regexpression gives the error by working with [  ("Anatoli Lau" <ailau@sharematrix.com>)
List pgsql-bugs
On Sat, Sep 27, 2008 at 12:46:31AM +0000, Anatoli Lau wrote:
> select regexp_matches('/a/b[534]', E'(.*)\[([0-9]*)\]');
> always gives the error but
> select regexp_matches('/a/b{534}', E'(.*)\{([0-9]*)\}');
> works good, the problems comes up only when '[' used

it would be good to show what kind of error it shows. i can only guess
that you are running it through psql, and the error you get is:
ERROR:  invalid regular expression: parentheses () not balanced

in such case, change "\[" to "\\[":
# select regexp_matches('/a/b[534]', E'(.*)\\[([0-9]*)\\]');
 regexp_matches
----------------
 {/a/b,534}
(1 row)

depesz

--
Linkedin: http://www.linkedin.com/in/depesz  /  blog: http://www.depesz.com/
jid/gtalk: depesz@depesz.com / aim:depeszhdl / skype:depesz_hdl / gg:6749007

pgsql-bugs by date:

Previous
From: "Anatoli Lau"
Date:
Subject: BUG #4438: regexpression gives the error by working with [
Next
From: austijc
Date:
Subject: Re: ERROR: unexpected data beyond EOF in block XXXXX of relation "file"