On 2013-03-29, Alain Ketterlin <al...@dpt-info.u-strasbg.fr> wrote: > Victor Hooi <victorh...@gmail.com> writes: > >> expression1 = re.compile(r'....') >> expression2 = re.compile(r'....') > [...] > > Just a quick remark: regular expressions are pretty powerful at > representing alternatives. You could just stick everything > inside a single re, as in '...|...' > > Then use the returned match to check which alternative was > recognized (make sure you have at least one group in each > alternative).
Yes, but in a Python program it's more straightforward to program in Python. ;) But this is from a grade A regex avoider, so take it with a small chunk of sodium. >> Is it possible to somehow test for a match, as well as do assignment >> of the re match object to a variable? One way to attack this problem that's not yet been explicitly mentioned is to match using a generator function: def match_each(s, re_seq): for r in re_seq: yield r.match(s) And later something like: for match in match_each(s, (expression1, expression2, expression3)): if match: print(match.groups()) # etc... -- Neil Cerutti -- http://mail.python.org/mailman/listinfo/python-list