because it \wincludes a number. you need to do the following:
>>> s = "one two 9three 52eight four"
>>> import re
>>> re.findall(r'\b[a-z]+\b', s, re.I)
['one', 'two', 'four']
In addition, what you use (?!...)is called negative, but you probably mean negative appearance (?<!...), which, of course, will fail due to the above problem.
etaββstrong > : :
>>> re.findall(r'\b(?!\d)\w+', s)
['one', 'two', 'four']