import re
strings = ['M01 (BlaBlaBla)','M205 (BlaBlaBla blablablaa)','M10','M190 (Текст внутри скобок)']
rx = re.compile(r'^M(\d+)(?:\s*\(([^()]*)\))?')
for s in strings:
m = rx.search(s)
if m: print(m.groups())
aW1wb3J0IHJlCnN0cmluZ3MgPSBbJ00wMSAgICAoQmxhQmxhQmxhKScsJ00yMDUgICAgICAgICAoQmxhQmxhQmxhIGJsYWJsYWJsYWEpJywnTTEwJywnTTE5MCAo0KLQtdC60YHRgiDQstC90YPRgtGA0Lgg0YHQutC+0LHQvtC6KSddCnJ4ID0gcmUuY29tcGlsZShyJ15NKFxkKykoPzpccypcKChbXigpXSopXCkpPycpCmZvciBzIGluIHN0cmluZ3M6CgltID0gcnguc2VhcmNoKHMpCglpZiBtOiBwcmludChtLmdyb3VwcygpKQ==