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

トップ ページ
このメッセージを削除
著者: ND
日付:  
To: Pcre-dev
題目: [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.