Expressões regulares Python para extrair data

Tenho strings parecidas com estas:

{server}_{date:YYYYMMDD}{int:######}
{server}_{date:MON DAY YYYY}{int:######}

... além de mais, em diferentes formatos de data. Além disso, pode haver qualquer número de {} blocos e eles podem aparecer em qualquer ordem.

Estou tentando obter apenas a parte "date" entre os chavetas no Python 3.2. Portanto, para a primeira string, quero apenas "{date: AAAAMMDD}" e para a segunda string, quero apenas "{date: MON DAY AAAA}". Os únicos caracteres que eu quero dentro do bloco "date" são alfa e espaço em branco.

Meu padrão de regex é:

\{date:(\w|\s)*\}

Eu testei isso emeste construtor Regex, mas não corresponde ao esperado. Esta é a minha saída no Python:

>>> import re
>>> re.findall('\{date:(\w|\s)*\}', '{server}_{date:YYYYMMDD}{date:MONDAYYYYY}{int:######}')
['D', 'Y']
>>> re.findall('\{date:(\w|\s)*\}', '{server}_{date:MON DAY YYYY}{int:######}')
['Y']

lguém pode apontar o que há de errado com meu padrã

questionAnswers(5)

yourAnswerToTheQuestion