Mike,

I think logical AND is implied. It's 'out of 
order' matching you want (if I understand 
the problem correctly). One way is unrolling
the ordered matches (verbose for just 
three):

/foo=.+bar=.+beef=|foo=.+beef=.+bar=|bar=.+foo=.+beef=|bar=.+beef=.+foo=|beef=.+foo=.+bar=|beef=.+bar=.+foo=/

Another way may be with zero-width 
lookahead matches:

/(?=.*foo=)(?=.*bar=)(?=.*beef=)/


but that may be more expensive. All 
of this is untested, but try it and see if 
it works for you.

Good luck,

Troy

>>> "Mike Bresnahan" <mbresnah at visi.com> 12/30/03 01:27PM >>>
I have a perl/regular-expression question.  I want to match lines in a
web
server log file based on multiple URL parameters.  The X parameters may
come
in any order.  The order is unimportant to me.  Can I express this in
a
regular expression?  Something like the following would make sense, but
I
don't see a logical AND in the docs, only a logical OR.

(foo)&(bar)&(beef)

This would match all of the following:

foo=423&bar=234&beef=234
bar=423&beef=234&foo=2423
bar=2342&foo=234&beef=234234

Note that I have a need to express this in a single regular
expression.


_______________________________________________
tclug-devel mailing list
tclug-devel at mn-linux.org
https://mailman.real-time.com/mailman/listinfo/tclug-devel