典型的な単語の接尾辞のセット(ize、fy、ly、able ...など)の場合、特定の単語がそれらのいずれかで終わっているかどうかを知り、その後それらを削除したいと思います。これは、たとえばword.endswith('ize')を使用して繰り返し実行できることは知っていますが、それを実行するためのより適切な正規表現の方法があると思います。終了マーカー$を使用して積極的な先読みを試みましたが、何らかの理由で機能しませんでした。
pat='(?=ate|ize|ify|able)$'
word='terrorize'
re.findall(pat,word)