import re
texts = ['1д1ч', '1д1м', '1д1ч1м']
for text in texts:
	m = re.search(r'^(?!$)(?:(?P<day>\d+)д)?(?:(?P<hour>\d+)ч)?(?:(?P<minute>\d+)м)?$', text)
	if m:
		print(m.groupdict())