"Merlin Moncure" <mmonc...@gmail.com> writes:
> I _may_ have found a problem that is affecting non-greedy regex matches.

No, you didn't read the fine print in section 9.7.3.5; particularly

    A branch -- that is, an RE that has no top-level | operator -- has the
    same greediness as the first quantified atom in it that has a greediness
    attribute.
    
    ...
    
    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. Once the length of the entire match is
    determined, the part of it that matches any particular subexpression is
    determined on the basis of the greediness attribute of that
    subexpression, with subexpressions starting earlier in the RE taking
    priority over ones starting later.

In short, the \s+ causes the whole thing to become greedy.  Maybe \s+?
will do what you want.

                        regards, tom lane

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to