On Mon, 2005-01-03 at 08:52, Ross La Haye wrote: > How can an and operator be emulated in regular expressions in Python? > Specifically, I want to return a match on a string if and only if 2 or more > substrings all appear in the string. For example, for a string s = 'Jones > John' and substrings sg0 = 'Jones' and sg1 = 'John', I want to return a > match, but for substrings sg0 = 'Jones' and sg2 = 'Frank' I do not want to > return a match. Because the expression 'A and B' is logically equivalent to > 'not (not A or not B)' I thought I could try something along those lines, > but can't crack it.
My first thought would be to express your 'A and B' regex as: (A.*B)|(B.*A) with whatever padding, etc, is necessary. You can even substitute in the sub-regex for A and B to avoid writing them out twice. -- Craig Ringer -- Craig Ringer -- http://mail.python.org/mailman/listinfo/python-list