Можно достать последовательность подходящих символов, расположенную в конце строки:
str.match(/\w+$/)[0]
Или, порезать строку на куски, использовав качестве разделителей неподходящие символы, и взять последний кусок:
str.split(/\W/).pop()
Или, удалить максимально длинную последовательность символов, оканчивающуюся неподходящим символом:
str.replace(/.*\W/, '')
Или (дикий вариант), ищем максимальный индекс мусорного символа, вырезаем кусок строки, начиная со следующего (если нигде ничего не найдено, везде
-1
, с единицей это
0
, т.е., начало строки) и до конца:
str.slice(1 + Math.max(...[...'@/'].map(n => str.lastIndexOf(n))))
Или (тоже дикий вариант), перебираем строку, добавляем символы в результат, если символ мусорный - сбрасываем результат:
[...str].reduce((acc, n) => '@/'.includes(n) ? '' : acc + n, '')