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())