• Tom Lane's avatar
    Fix the general case of quantified regex back-references. · 173e29aa
    Tom Lane authored
    Cases where a back-reference is part of a larger subexpression that
    is quantified have never worked in Spencer's regex engine, because
    he used a compile-time transformation that neglected the need to
    check the back-reference match in iterations before the last one.
    (That was okay for capturing parens, and we still do it if the
    regex has *only* capturing parens ... but it's not okay for backrefs.)
    
    To make this work properly, we have to add an "iteration" node type
    to the regex engine's vocabulary of sub-regex nodes.  Since this is a
    moderately large change with a fair risk of introducing new bugs of its
    own, apply to HEAD only, even though it's a fix for a longstanding bug.
    173e29aa
regex.out 878 Bytes