On Thu, 2009-07-16 at 11:08 -0400, Charles Gregory wrote: > Given that OP said the entire *line* was word-underscore-word-underscore, > then why not just: > > body R01 /^\w{30,}$/m
Indeed, it really depends on what *exactly* the rule should match. > Or perhaps the OP wasn't clear on whether 'word' might contain other > punctuation, and so we might simply use: > > body R02 /^\S{30,}$/m This one also matches a long-ish URL on a line of its own. > I might add \s* at the end of the rule, just in case of trailing spaces... Keep in mind, that with body rules, the body is *rendered*. Whitespace normalized, and *paragraphs* re-flowed to a single string with embedded newlines stripped. For instance, this very paragraph is a single ^line$ as far as body REs are concerned. -- char *t="\10pse\0r\0dtu...@ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4"; main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1: (c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}