Hi All, I know that several of you will probably want to reply "you should write a parser", and I may. For that matter any tips on theory in that direction would be appreciated.
However, if you would indulge me in my regex question I would also be most grateful. I'm writing an edi parser and to be in compliance with the specification I need to have conditionals that are dependent on conditionals. In some regular expression implementations this is possible. The code ... #!/usr/bin/env python import re pattern = re.compile(r""" (?P<first>(first)) (?(first) (?P<second>(second)) ) (?(second) (?P<third>(third)) ) """, re.VERBOSE) string = 'firstsecondthird' match = re.match(pattern,string) print match.group('first','second','third') Prints ('first', 'second', None) and I haven't found any way to have a second conditional, nor any reference to it in any documentation I've found. Am I missing something, and it is possible? Or is it not possible in python? It seems like it might be a bug, as it knows there is a group (None, instead of an IndexError), but it doesn't match ... Thanks for any help :) Paul -- http://mail.python.org/mailman/listinfo/python-list