On Sun, 21 Jul 2019, ND via Pcre-dev wrote: > New algorithm still have another parts of discussed oversight. For example it > returns full match instead of partial in following cases: > > /(?![ab]).*/ > ab\=ph > 0: > > /c*+/ > ab\=ph,offset=2 > 0:
The answer to that may lie in thinking about zero repeat items. > Alternative suggestion don't have this troubles. It simplify calculations that > main application must do after matching of every segment. It also have more > common and simple (for user understanding) algorithm and can have simpler > docs. But it is a big incompatible change and nobody else has brought up any of these points in the last 10 years. > >ND quoted /(*COMMIT)(*F)/ as a > >simple example. Is (*COMMIT) the only way this might happen? > > Not only. It may also happen with anchored patterns. The user can find out if a pattern is anchored. If it is, there is no point continuing with another segment after no match on the first segment. Philip -- Philip Hazel -- ## List details at https://lists.exim.org/mailman/listinfo/pcre-dev