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