I'm working on a program for searching through databases of Latin and
Greek text encoded in plain ascii and "binary" bytes. The monster regex
that is generated to do the job contains a bunch of possessive
quantifiers, so my question is about the difference between the (?>...)
expression and the ?+, ++, and *+ quantifiers.

Which of the following is better, and why? Are they equivalent (i.e. do
the match the same set of strings and only those strings)?

1. (?:[\x80-\xff]++)?+
2. (?>[\x80-\xff]++)?

In general, should I use the possessive quantifiers or the possessive
group (?>...)? Will one generally fail more quickly than the other?

Also, does (?>...) capture what it matches? I can't find the answer to
this in perlre.

-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to