Comment combiner les groupes (p1 et p2) dans le code suivant ?
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(re.findall(px, txt)) # [('Sab', 'Sab', 'a', 'b', '', '', ''), ('Mba', '', '', '', 'Mba', 'b', 'a')]
Pouvez-vous m'expliquer pourquoi j'obtiens des chaînes vides et comment faire pour obtenir [('Sab', 'a', 'b'), ('Mba', 'b', 'a')]
?