У меня есть строка в следующем формате:
\main\stream\foo.h\3
это может иметь более или менее "разделы", но будет всегда заканчиваться наклонной чертой, сопровождаемой целым числом. Другие примеры включают:
\main\stream2309\stream222\foo.c\45
\main\foo.c\9
Я должен, в Perl, увеличиваю число в конце строки и оставляю остальных в покое. Я нашел пример на этом сайте, который делает точно, что я хочу сделать (см. Инкремент число в строке в с regex), только языком является JavaScript. Данное решение было:
.replace(/\d+$/,function(n) { return ++n })
Я должен сделать то же самое в Perl.
Вы можете использовать модификатор регулярного выражения / e
, чтобы поместить исполняемый код в вашу заменяющую строку.
Примерно так:
$string =~ s/(\d+)$/$1 + 1/e;
должно работать.