nie zwraca całego wzorca w wyrażeniu regularnym w Pythonie

Mam następujący kod:

haystack = "aaa months(3) bbb"
needle = re.compile(r'(months|days)\([\d]*\)')
instances = list(set(needle.findall(haystack)))
print str(instances)

Spodziewałbym się, że to wydrukujemonths(3) ale zamiast tego po prostu dostajęmonths. Czy jest ku temu jakiś powód?

questionAnswers(2)

yourAnswerToTheQuestion