Re: Pathological regexp match

Michael Glaesemann <michael.glaesemann@myyearbook.com>

From: Michael Glaesemann <michael.glaesemann@myyearbook.com>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: pgsql-hackers@postgresql.org
Date: 2010-01-29T04:36:58Z
Lists: pgsql-hackers
On Jan 28, 2010, at 23:21 , Alvaro Herrera wrote:

> I think the reason for this is that the first * is greedy and thus the
> entire expression is considered greedy.  The fact that you've made the
> second * non-greedy does not ungreedify the RE ... Note the docs say:
>
> 	The above rules associate greediness attributes not only with
> 	individual quantified atoms, but with branches and entire REs
> 	that contain quantified atoms. What that means is that the
> 	matching is done in such a way that the branch, or whole RE,
> 	matches the longest or shortest possible substring as a whole.

Interesting. Thanks for pointing out this section of the docs. I  
wasn't aware of this twist.

> It's late here so I'm not sure if this is what you're looking for:

I'm not actually looking for a regexp that works: I was able to  
accomplish the task I had at hand with a different regexp. I'm just  
reporting the particular unexpected nastiness we ran into. :)

Michael Glaesemann
michael.glaesemann@myyearbook.com