正则表达式 – 如何在维护大写的同时替换文本?
发布时间:2020-12-14 06:25:47 所属栏目:百科 来源:网络整理
导读:假设我想用以下内容替换文件上的字符串 namenAmEnaMEbbNAME 并希望用“dave”替换“name”这个词,但保留原始文本的大小写.例如,我想要的输出是, davedAvEdaVEbbDAVE 是否有任何单行代码(最好在Perl中,所以我可以在许多文件中进行就地替换)? 编辑 除非两个字
假设我想用以下内容替换文件上的字符串
name nAmE naMEbb NAME 并希望用“dave”替换“name”这个词,但保留原始文本的大小写.例如,我想要的输出是, dave dAvE daVEbb DAVE 是否有任何单行代码(最好在Perl中,所以我可以在许多文件中进行就地替换)? 编辑
perlFaq上有一些解决方案:
http://perldoc.perl.org/perlfaq6.html#How-do-I-substitute-case-insensitively-on-the-LHS-while-preserving-case-on-the-RHS? 其中一个解决方案允许通过定义子例程(preserve_case)在单行中执行替换: $string = "this is a TEsT case"; $string =~ s/(test)/preserve_case($1,"success")/egi; print "$stringn"; 这打印:这是一个SUcCESS案例 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |