On Fri, 11 Nov 2011 20:09:49 +0400, Philip Hazel <[email protected]> wrote:

  A name may also be returned after a failed match if the final path
  through the pattern involves (*MARK). However, unless (*MARK) used in
  conjunction with (*COMMIT), this is unlikely to happen for an
  unanchored pattern because, as the starting point for matching is
  advanced, the final check is often with an empty string, causing a
  failure before (*MARK) is reached.

I suppose is not the Perl way. It seems that Perl keeps last MARK value regardless starting point was advanced.

Perl code:
$_ = "abc";
if (/b(*:m)f|a(*:n)w/)  { print "-YES-$REGMARK"; }
else { print "-NO-$REGERROR"; }

Result:
-NO-m

*MARK:m was keeped by Perl in $REGERROR and may be accessed after match fails.

--
## List details at https://lists.exim.org/mailman/listinfo/pcre-dev

Reply via email to