>>258, >>268
こういうのはどうだろう。

class Pattern:
    def __init__(self, pattern, flag=0):
        self.pattern = re.compile(pattern, flag)
    def match(self, string, flag=0):
        self.last_match = self.pattern.match(string, flag)
        return self.last_match

RE_FOO = Pattern("...")
RE_BAR = Pattern("...")
...

if RE_FOO.match(s):
    do something using RE_FOO.last_match
elif RE_BAR.match(s):
    do something using RE_BAR.last_match
elif ...