| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | "Rui Martins" <Rui(dot)Martins(at)PDMFC(dot)com> |
| Cc: | pgsql-bugs(at)postgresql(dot)org |
| Subject: | Re: BUG #4044: Incorrect RegExp substring Output |
| Date: | 2008-03-19 18:56:14 |
| Message-ID: | 17138.1205952974@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
"Rui Martins" <Rui(dot)Martins(at)PDMFC(dot)com> writes:
> Even though this can me though as argumentative, think about this expression:
> (something)?
> Will "match" with an empty string in the context of a full expression, and
> will return an EMPTY String. So by analogy, I would expect it, to return
> the same as a sub-expression when it actually has a "match" even if with
> an empty sub-string.
Uh, no, it *won't* match if there is not "something" in the string.
The behavior you are looking for is properly obtained this way:
((something)?)
This will return either "something" or an empty string (assuming
we have a globally successful match). The point is there's a difference
between what X matches (or doesn't) and what X? matches.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Heikki Linnakangas | 2008-03-19 22:16:34 | Re: 8.3 can't convert cyrillic text from 'iso-8859-5' to other cyrillic 8-bit encoding |
| Previous Message | Rui Martins | 2008-03-19 15:43:38 | Re: BUG #4044: Incorrect RegExp substring Output |