Naja, solche Negativlisten gefallen mir nicht besonders. Da vergisst man zu leicht etwas.
Wer Umlaute braucht, nimmt einfach "use locale", dann klappt's auch mit dem
\w oder - noch besser - dem
[:alpha:].
Dann wird's aber knifflig: Wenn man vermeiden möchte, dass aus einer Formulierung wie "be- und entladen" das Wort "be" extrahiert wird, braucht man mehr als eine zeichenbasierte Analyse.
Wenn ich oben "Grammatik" lese, dann scheint es mir doch eher um Informationsextraktion zu gehen. Da kenne ich leider kein Perl-Lösung, aber wenn der Anspruch höher ist und es auch Java sein darf, würde ich mal einen Blick auf das
GATE-Projekt werfen.