> egrep -i '^[^e]*(e[^e]*){3}[^e]*$' > > Not only is it slightly shorter and more readable, but it's a lot easier > change it to search for of 'e' exactly n times. If I'm reading the regexp correctly you are excluding words that start with e or contain more than one e in a row.