Re: [pcre-dev] Remove some restrictions of lookbehind assert…

Top Page
Delete this message
Author: ph10
Date:  
To: Zoltán Herczeg
CC: pcre-dev@exim.org, ND
Subject: Re: [pcre-dev] Remove some restrictions of lookbehind assertions
On Tue, 30 Jul 2019, Zoltán Herczeg wrote:

> Thinking about practical use cases. With the proposed changes, doing a submatch is quite overcomplicated:
>
> (*:A)submatch(*:B)(*MOVE:A)(*SETEND:B)match-submatch-again(*MOVE:B)(*SETEND)
>
> Perhaps the other idea, use capturing brackets for this purpose could be better. Something like this:
>
> (submatch)(*match:{1}pattern) is easier.
>
> Inside the {}, a name can be presented as well.


Let me see if I understand that: does (*match:{1}pattern) mean "apply
the pattern to the string that is currently captured by group 1"?
Without looking at the interpreter code, I'm not sure if this is easy or
hard to implement.

> The (*MOVE) could be kept for moving the string pointer around.


(*MOVE) is a small addition and solves ND's non-atomic assertion
requirement. Perhaps we can just start with (*MOVE).

Philip

--
Philip Hazel