Expresiones regulares de Python para extraer la fecha

Tengo cadenas que se parecen a estas:

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

... más más, en diferentes formatos de fecha. Además, puede haber cualquier cantidad de {} bloques, y pueden aparecer en cualquier orden.

Estoy tratando de obtener solo la parte de "fecha" entre las llaves en Python 3.2. Entonces, para la primera cadena, quiero obtener solo "{fecha: AAAAMMDD}" y para la segunda cadena quiero solo "{fecha: LUN DÍA AAAA}". Los únicos caracteres que quiero dentro del bloque "fecha" son alfa y espacios en blanco.

Mi patrón regex es:

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

He probado esto eneste generador Regex, pero no coincide como se esperaba. Esta es mi salida en 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']

¿Alguien puede señalar qué hay de malo en mi patrón?

Respuestas a la pregunta(5)

Su respuesta a la pregunta