Есть какая-то особая причина, по которой это должно быть регулярное выражение? Как насчет простого разделения строки на слешах, удаления последнего элемента и воссоединения:
function removeItemAfterLastSlash(string) {
const list = string.split(/\//);
if (list.length == 1) [
return string;
}
list.pop();
return list.join("/");
}
Или поиска последнего слеша и удаления:
function removeItemAfterLastSlash(string) {
const index = string.lastIndexOf("/");
if (index === -1) {
return string;
}
return string.splice(0, index);
}