On Thu, May 05, 2005 at 09:41:46PM -0400, Rick Delaney wrote:
> On Fri, May 06, 2005 at 02:05:02AM +0200, A. Pagaltzis wrote:
> > * Jos? Castro <[EMAIL PROTECTED]> [2005-05-05 16:30]:
> > > So suppose you want a regular expression to match at least one
> > > of three words:
> > >
> > > /word1|word2|word3/
> > >
> > > What solution would you use if you wanted at least _two_ of
> > > those three words?
> >
> > $alt = join '|', qw( word1 word2 word3 );
> > / ($alt) .* ($alt) (?(?{ $1 eq $2 })(?!)) /x
>
> / ($alt) .* (?!\1) ($alt) /x;
Fails with words: (foo, foobar, foobaz) and string "foofoobar".