Почему это должно быть регулярное выражение? Обозначения последовательны и отличаются незначительно; регулярное выражение не обязательно.
function incrementStrN(str) {
var split = str.split('.');
split[2]++;
return split.join('.');
}
incrementStrN("1.0.123.0"); // Returns "1.0.124.0"
Я знаю, что это выглядит не очень красиво, но это быстрее, чем использование регулярного выражения; плюс его проще настроить; например, вы могли бы реализовать его таким образом, чтобы можно было изменить увеличиваемый раздел: (см. @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"