From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Mario Splivalo <mario(dot)splivalo(at)mobart(dot)hr> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: Postgres regexp matching failure? |
Date: | 2006-09-05 14:21:15 |
Message-ID: | 20060905142115.GC21195@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Mario Splivalo wrote:
> On Tue, 2006-09-05 at 08:42 -0500, Aaron Bono wrote:
> > On 9/5/06, Mario Splivalo <mario(dot)splivalo(at)mobart(dot)hr> wrote:
> >
> > pulitzer2=# select 'stop works' ~ '^\s*(?:[\
> > +|-]|(?:[sS][tT][oO][pP]\b)).*$';
> > ?column?
> > ----------
> > f
> > (1 row)
> >
> > Here, postgres should return true, but it gives me false.
> >
> >
> > \b is a back-space - is that what you are wanting there? If I remove
> > it I get true.
>
> Actually, I'm not sure :) As I've mentioned, python/java/perl do as I
> expected, postgres on the other hand doesn't. If \b was the backspace,
> then I'd have trouble with '+mario test', and that one seems to be OK.
No, because the \b is inside the "stop" arm of the |. You need to do
*both*, double backslashes and get rid of \b (or at least understand
what you actually mean with it ...)
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-09-05 14:28:00 | Re: pg_dump |
Previous Message | Mario Splivalo | 2006-09-05 14:17:50 | Re: Postgres regexp matching failure? |