Ваше регулярное выражение идеально, и да, вы должны избегать косых черт, поскольку JavaScript использует косые черты для обозначения регулярных выражений.
Однако проблема в том, что метод JavaScript replace
не выполняет замену на месте.То есть он фактически не изменяет строку - он просто дает вам результат замены.
Попробуйте это:
myString = '/courses/test/user';
myString = myString.replace(/\/courses\/([^\/]*)\/.*/, "$1");
document.write(myString);
Это устанавливает myString
в замененное значение.