Regex Dateinamen zurückgeben, Pfad und Dateierweiterung entfernen

Ich habe ein data.frame, das eine Textspalte mit Dateinamen enthält. Ich möchte den Dateinamen ohne den Pfad oder die Dateierweiterung zurückgeben. Normalerweise sind meine Dateinamen nummeriert, müssen es aber nicht sein. Zum Beispiel:

df<-data.frame(data=c("a","b"),fileNames=c("C:/a/bb/ccc/NAME1.ext","C:/a/bb/ccc/d D2/name2.ext"))

Ich möchte das Äquivalent von zurückgeben

df<-data.frame(data=c("a","b"),fileNames=c("NAME","name"))

aber ich kann den glatten regulären Ausdruck nicht herausfinden, um dies mit gsub zu tun. Zum Beispiel kann ich die Erweiterung mit loswerden (vorausgesetzt der Dateiname endet mit einer Zahl):

gsub('([0-9]).ext','',df[,"fileNames"])

Obwohl ich verschiedene Muster ausprobiert habe (indem ich die Regex-Hilfedateien und ähnliche Lösungen auf dieser Site gelesen habe), kann ich keine Regex erhalten, die den Text zwischen dem letzten "/" und dem ersten "." Zurückgibt. Irgendwelche Gedanken oder Weiterleitungen zu ähnlichen Fragen werden sehr geschätzt!

Das Beste, was ich bekommen habe, ist:

 gsub('*[[:graph:]_]/|*[[:graph:]_].ext','',df[,"fileNames"])

Dies 1) entfernt jedoch nicht alle führenden Pfadzeichen und 2) hängt von einer bestimmten Dateierweiterung ab.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage