>>53 正規表現がまずかった
String ieAfterConsonant = "^(\\w*[^aeiou])ie(d|s)$";
String thirdPersonSingular = "^(\\w*)(es|s)$";
String normalPastForm = "^(\\w*)ed$";

あと思いつく改良としては正規表現と置換文字列は配列にしとくとか