var s = '/questions/ask/1';
var s2 = '/questions-math/ask/1';
var r = s.replace(/[^\/][-a-zA-Z]*/, 'example');
var r2 = s2.replace(/[^\/][-a-zA-Z]*/, 'example');
console.log(r);
console.log(r2);
EDIT:
Проблема ленивого и жадного.
Для некоторых непонятная причина, есть мода на использование ленивых регулярных выражений. Подобные выражения - не панацея от всего. В этом случае использование выражений жадного режима по умолчанию упрощает их использование и разработку.
«Более высокая производительность» также является мифом, просто подумайте об используемом алгоритме, но для иллюстрации Я сравнил эти решения, вычислив среднее значение по 100 тестов каждый один миллион замен :
I. 10-year PC, CPU 4 core 23145.70 BogoMIPS
Greedy: 278 ms
Lazy: 900 ms
II. 30-year PC, CPU 1 core 3397.11 BogoMIPS
Greedy: 6736 ms
Lazy: 7490 ms
Как видите, непоколебимое выражение оказалось медленнее, и эта разница резко увеличивается с увеличение мощности процессора.
Обратите внимание, что эти различия относятся к 1 миллиону замен, при одной замене они не имеют абсолютно никакого значения.
Естественно, так будет не во всех случаях. Если мы заботимся о производительности функции, быстрого пути нет, ответ будет дан только путем измерения путем профилирования.