Что-то вроде этого:
var result;
result = value.match(/\/url\/([0-9]+)\/test/);
// use result[1] to get the numbers (the first capture group)
Это зависит от /url/
и /test
битов, поскольку вы сказали, что они надежны. В более общем случае это будет соответствовать первому разряду цифр в строке:
var result;
result = value.match(/[0-9]+/);
// use result[0] (not result[1]), which is the total match
Страница MDC с регулярными выражениями очень полезна.
Примечание: вместо [0-9]
выше, вы можете использовать \d
, что означает «цифра». Я не знаю, потому что мое регулярное выражение слабо, и я никогда не смогу его вспомнить (а когда я это сделаю, я никогда не смогу вспомнить, все ли это цифры или все не цифры [это \D
- вы видите мое замешательство). Я нахожу [0-9]
действительно ясным, когда читаю его позже. Другие могут найти \d
более понятным, но мне нравится явная перечисленность диапазона.