Expresión regular de Python para eliminar todas las palabras que contiene el número

Estoy tratando de hacer una expresión regular de Python que me permita eliminar todos los mundos de una cadena que contiene un número.

Por ejemplo:

in = "ABCD abcd AB55 55CD A55D 5555" out = "ABCD abcd" 

La expresión regular para eliminar el número es trivial:

 print(re.sub(r'[1-9]','','Paris a55a b55 55c 555 aaa')) 

Pero no sé cómo borrar toda la palabra y no solo el número.

¿Usted me podría ayudar por favor?

¿Necesita una expresión regular? Puedes hacer algo como

 >>> words = "ABCD abcd AB55 55CD A55D 5555" >>> ' '.join(s for s in words.split() if not any(c.isdigit() for c in s)) 'ABCD abcd' 

Si realmente desea utilizar expresiones regulares, puede probar \w*\d\w* :

 >>> re.sub(r'\w*\d\w*', '', words).strip() 'ABCD abcd' 

Aquí está mi enfoque:

 >>> import re >>> s = "ABCD abcd AB55 55CD A55D 5555" >>> re.sub("\S*\d\S*", "", s).strip() 'ABCD abcd' >>>