ver*_*men 4 regex perl increment
我有一个像这样的字符串:
1,2,4 0:5 1:10 3:14
Run Code Online (Sandbox Code Playgroud)
我要转换成
1,2,4 1:5 2:10 4:14
Run Code Online (Sandbox Code Playgroud)
只有":"之前的数字必须加1.
我试过了:
perl -w -e '$s="1,2,4 0:5 1:10 3:14";
$s =~ s/([0-9]*):/print(($1+1).":")/ge;
print("$s\n");'
Run Code Online (Sandbox Code Playgroud)
奇怪的回归
1:2:4:1,2,4 15 110 114
Run Code Online (Sandbox Code Playgroud)
有没有简单的方法来实现我的目标?
Сух*_*й27 11
你足够接近,但它必须匹配至少一个数字,然后是:
,并且替换部分必须返回所需的结果,而不是打印它.
my $s = "1,2,4 0:5 1:10 3:14";
$s =~ s/([0-9]+) (?=:)/ $1+1 /xge;
print $s, "\n";
Run Code Online (Sandbox Code Playgroud)