import re

txt = "Sab11Mba11"
p1 = "(S(a|b)(a|b))"
p2 = "(M(a|b)(a|b))"
px = p1 + '|' + p2
print(re.findall(p1, txt)) # [('Sab', 'a', 'b')]
print(re.findall(p2, txt)) # [('Mba', 'b', 'a')]
print([tuple(filter(lambda m: m != '', x)) for x in re.findall(px, txt)]) # [('Sab', 'a', 'b'), ('Mba', 'b', 'a')]