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{