[pcre-dev] (*SKIP:NAME) when (*MARK:NAME) is in assertion

Páxina inicial
Borrar esta mensaxe
Autor: ND
Data:  
Para: Pcre-dev
Asunto: [pcre-dev] (*SKIP:NAME) when (*MARK:NAME) is in assertion
Good day.


PCRE documents about SKIP verb with NAME:

"When (*SKIP) has an associated name, its behaviour is modified. When it
is triggered, the previous path through the pattern is searched for the
most recent (*MARK) that has the same name. If one is found, the
"bumpalong" advance is to the subject position that corresponds to that
(*MARK) instead of to where (*SKIP) was encountered. If no (*MARK) with a
matching name is found, the (*SKIP) is ignored."


Look please at pcretest listing:


PCRE2 version 10.31 2018-02-12
/a(?=.(*:1))(*SKIP:1)(*F)|./
abc
0: a


With documented behaviour expected result is: "c", not "a".

It seems if mark name is defined in assertion then SKIP with this name is
ignored.
May be a little docs clarification about this needed.


Thanks.