Author: ph10 Date: To: ND CC: Pcre-dev Subject: Re: [pcre-dev] Influence of some start-up optimizations at the
beginning of the pattern
On Wed, 29 May 2019, ND via Pcre-dev wrote:
> But it seems no difference in pcre2test output in normal and no_start_optimize
> cases. Both returned mark value:
>
>
> PCRE2 version 10.33 2019-04-16
> /(*MARK:A)(X|Y)/mark
> ABC
> No match, mark = A
>
> /(*MARK:A)(X|Y)/mark,no_start_optimize
> ABC
> No match, mark = A
Thank you for pointing this out. It is a mistake in the documentation.
The reason is that, for a "no match", the MARK returned is the last one
seen during the whole match process, not just in the last starting
position. Here is a better example:
$ ./pcre2test zz
PCRE2 version 10.33 2019-04-16
/(*MARK:A)B(*MARK:B)(X|Y)/mark
XXXBZ
No match, mark = B
/(*MARK:A)B(*MARK:B)(X|Y)/mark,no_start_optimize
XXXBZ
No match, mark = A