双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

perl 正则表达式的替换问题-在线等

shenjf2000 shenjf2000 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
因为项目需要临时学习perl 做一些文本处理,在替换上遇到问题,时间比较紧,就到这里请大侠们指教:
伪代码(下面如果有语法错误请指出):
$str = "abc 22";
$str =~ s/(\d)+/(?{&mySub($1)})/;

sub mySub{
$_[0]/2; //这里会自动将22转成number 类型么?
}

我想达到的效果是经过替换后str的值为"abc 11"


也就是说,在替换过程中,需要调用一个外部函数来对匹配的内容($i)进行处理后再进行替换。
我了解到perl中有(?{})及/e的语法似乎可以完成这样的操作,但是试验没有成功。
不知是我的对上面用法的理解有问题,还是解决这样的问题所采用的方案有问题?请指教,谢谢!



...全文
评论 2
收藏 已收藏
分享
返回顶部
shenjf2000
脚本语言 37,738 成员 34,208 内容