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".

Reply via email to