Pourquoi faut-il une expression régulière? La notation est cohérente et ne varie que légèrement; une expression régulière n'est pas nécessaire.
function incrementStrN(str) {
var split = str.split('.');
split[2]++;
return split.join('.');
}
incrementStrN("1.0.123.0"); // Returns "1.0.124.0"
Je sais que cela ne semble pas très joli mais c'est plus rapide que d'utiliser une expression régulière; plus c'est plus facile à customiser; par exemple, vous pouvez le mettre en œuvre de telle manière que la section à incrémenter peut être modifiée: (voir @param sec
)
function incrementStrN(str, sec) {
var split = str.split('.');
split[sec-1]++;
return split.join('.');
}
incrementStrN("1.0.123.0", 1); // Returns "2.0.123.0"
incrementStrN("1.0.123.0", 3); // Returns "1.0.124.0"
regex a moins de code à écrire, et est plus puissant – Graviton
Un avis plat comme ça ne vous mènera nulle part. J'aime regex autant que n'importe qui mais il y a un temps et un endroit. Le fait est que, dans cette situation, une regex sera plus lente ... – James