GNU find utilise par défaut les expressions régulières emacs, vous pouvez changer ce type avec -regextype option (voir man find).
Si vous utilisez -regextype posix-egrep votre expression semble fonctionner. Vous pourriez alors aussi probablement réduire le modèle à ^.+(jpg|gif|exe)$
Avec emacs :find . -regex '.+\(jpg\|gif\|exe\)$' . Voir cette section du manuel emacs pour ces règles spécifiques aux regex. Vous devez échapper à | et () pour qu'ils ne soient pas littéraux.
Dans emacs regexps ( , | et ) sont littéraux à moins que échappé, c'est exactement le contraire de tous les autres formats d'expressions régulières.
Votre expression fonctionne comme ^.+\.\(jpg\|exe\|gif\)$ .