Hi,

assertion which does not needs to be true, some kind of logical contradiction 
:) Funny construct. It is true, that you may have several forms to achive the 
same purpose, but I would prefer a conditional block here since that would be 
much more reasonable: (?(?=a(b)))

Regards,
Zoltan

ND <[email protected]> írta:
>On 2011-05-02 13:13, Herczeg Zoltán wrote:>
>
> You get the same result if you simply drop the quantifier.>
No. Try Perl example>
(?=a(b))?.*d\1?>
against subject 'axbdb' with '?' after assertion and without it.>
Results are different.>
>
> Anyway, if you really need the quantifier, just put a non-capturing  >
> bracket around it.>
Thanx. But the the aim of my post is not to get help about converting such  >
expressions to non erroneous variation in PCRE.>
There are many other cases when converting may be done. But they don't  >
cause banning of other legal Perl constructions.>
For example Perl expression 'a{2}' may be rewritten as 'aa'. But this is  >
not mean that construct '{2}' must be disallowed in PCRE as erroneous.>
>
If it seems to be unuseful to repeat assertions more than one time than  >
PCRE can optimize such quantifiers at compile time to run an assertion  >
only once.>
The ability to repeat an assertion 0 or 1 times is useful (example above).>
I don't see a need to break compatibility with Perl in such cases.>
>
Best regards.>
>
>
-- >
## List details at https://lists.exim.org/mailman/listinfo/pcre-dev 


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

Reply via email to