On Mon, 15 May 2006 [EMAIL PROTECTED] wrote:

> Dan wrote:
> > the accuracy of the test is dependent on finding a
> > minimum count (30 and 60).  Atomic groups are also not working:
> >
> >     full FloatingTags3 /(?>>\s?[\$%A-Z0-9]\s?<.*?){90,}/is
>
> Two problems: .*? could go on forever, and {90,} could go on forever.
>
> How about this:
>
> full FloatingTags3 /(?>>\s?[\$%A-Z0-9]\s?<.{,50}?){90}/is
>
> This caps the . at 50, and stops looking after it finds 90 of the groups.
> I'm a little confused as to why you're using (?>>...) instead of (?:...)

I'm even more confused about what is the meaning of ".{,50}?" ????
Doesn't that mean "match zero or more of anything but the fewest possible
number of them?" so wouldn't that always match on the null string???
(Remember that '(?>' at the beginning which says "no backtracing" ).


how-bout:

 full FloatingTags3 /(?>>\s?[\$%A-Z0-9]\s?<[^>]{,50}){90}/is

IE: match '<' followed by zero-to-50 non-'>' characters in that
end part of the pattern.


-- 
Dave Funk                                  University of Iowa
<dbfunk (at) engineering.uiowa.edu>        College of Engineering
319/335-5751   FAX: 319/384-0549           1256 Seamans Center
Sys_admin/Postmaster/cell_admin            Iowa City, IA 52242-1527
#include <std_disclaimer.h>
Better is not better, 'standard' is better. B{

Reply via email to