>
> I have read the thread. In it you say "Now PCRE scans 'a', then scans
> 'bcd', then want to check next symbol,"...
>             ^^^^^^^^^^^^^^^^^^^^^^^^^
> In the patterns you started this thread with (e.g. "$") PCRE does NOT
> want to check the next symbol, because it has reached the end of the
> pattern successfully. Whenever PCRE reaches the end of the pattern
> successfully, it returns MATCH.
>
> I am sorry that we are having such a lot of misunderstandings over this.
> However, the code of PCRE does what it is specified to do, and I am
> afraid that this will not change.
>

'want to check next symbol'. Yes, all of my examples are lookahead  
assertions. And in case of partial 'hard' PCRE MUST try to check next  
symbol (or it absence) to say: 'this assertion is match or not'. May be  
you addles 'hard' with 'soft' partial?
For example, pattern '.*' returns 'PCRE_ERROR_PARTIAL', but PCRE 'reaches  
the end of the pattern successfully'. And this behaviour is right for  
'hard' partial matching but wrong for 'soft'.
Please don't refer many a time to same documentation sentence. I  
understand that it fits to present PCRE behaviour. But I propose to change  
this behaviour because it needed to process multisegment strings (only for  
this purposes 'hard' partial option was added to PCRE). This must not  
affect 'soft' partial that works as you talk. Partial 'hard' option - is  
one-legged solution else.

-- 
## List details at http://lists.exim.org/mailman/listinfo/pcre-dev 

Reply via email to