https://bugs.exim.org/show_bug.cgi?id=2182

--- Comment #2 from John Tattarakis <[email protected]> ---
Sorry, me again. Further results and info: lookbehinds are also plagued. For
example:

^a(?:(?<=(.))[^c])*c 

Matched against the string "abc" produces \1 = "b".

PCRE, Python, and Java regexes all exhibit this behaviour. Perl, Javascript,
and .NET regexes do not. Apparently the big implementations are completely
divided on how to handle this situation.

I would argue this is a bug rather than a difference of opinion given the
following result as compared to the above example:

^a(?:(?<=(.))[^b])*b

Now this matched against the string "abc" doesn't set \1. This seems
inconsistent with the earlier result.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-- 
## List details at https://lists.exim.org/mailman/listinfo/pcre-dev 

Reply via email to