Quelque chose le long de ces lignes:
var result;
result = value.match(/\/url\/([0-9]+)\/test/);
// use result[1] to get the numbers (the first capture group)
qui repose sur les bits /url/
et /test
, puisque vous avez dit qu'ils étaient fiables. De manière plus générale, cela correspond à la première série de chiffres dans la chaîne:
var result;
result = value.match(/[0-9]+/);
// use result[0] (not result[1]), which is the total match
Le MDC page on regular expressions est très utile.
Remarque: Au lieu de [0-9]
ci-dessus, vous pouvez utiliser \d
qui signifie «chiffre». Je ne le fais pas parce que mon regex-fu est faible et je ne m'en souviendrai jamais (et quand je le fais, je ne me souviendrai jamais si c'est tous les chiffres ou tous les non-chiffres [c'est - vous voyez ma confusion]. [0-9]
vraiment clair quand je l'ai lu plus tard. d'autres peuvent trouver \d
plus claire, mais pour moi, j'aime la ness explicite de la liste de la gamme.