>> is there a way to know what alternative was matched? >>> import re >>> matcher = re.compile('(A)|(B)|(C)').match >>> matcher('ABC').lastindex 1 >>> matcher('BAC').lastindex 2 >>> matcher('CAB').lastindex 3 Ah, thanks. Tim> You can't have more than 99 capturing groups in a single regexp, Tim> though. That I can worm around. Thx, Skip