加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 在perl中增加特定位置的整数

发布时间:2020-12-14 06:04:58 所属栏目:百科 来源:网络整理
导读:我有一个像这样的字符串: 1,2,4 0:5 1:10 3:14 我要转换成 1,4 1:5 2:10 4:14 只有“:”之前的数字必须加1. 我试过了: perl -w -e '$s="1,4 0:5 1:10 3:14"; $s =~ s/([0-9]*):/print(($1+1).":")/ge; print("$sn");' 奇怪的回归 1:2:4:1,4 15 110 114
我有一个像这样的字符串:

1,2,4 0:5 1:10 3:14

我要转换成

1,4 1:5 2:10 4:14

只有“:”之前的数字必须加1.

我试过了:

perl -w -e '$s="1,4 0:5 1:10 3:14"; 
$s =~ s/([0-9]*):/print(($1+1).":")/ge; 
print("$sn");'

奇怪的回归

1:2:4:1,4 15 110 114

有没有简单的方法来实现我的目标?

解决方法

你足够接近,但它必须匹配至少一个数字,然后是:,并且替换部分必须返回所需的结果,而不是打印它.

my $s = "1,4 0:5 1:10 3:14"; 
$s =~ s/([0-9]+) (?=:)/ $1+1 /xge; 
print $s,"n";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读