如何在一个正则表达式中一次性替换多个串?
比如源串为:
aaaaaa111bbbbbbbbbb222cccccc333ddddddddd
现在想将其中的111替换为xxx,222替换为yyy,333替换为zzz。
通常的替换需要执行三次replace函数,有没有办法构造一个正则表达式,只调用一次replace函数就可以完成以上全部操作呢?
谢谢啊!
[解决办法]
my $s = "aaaaaa111bbbbbbbbbb222cccccc333ddddddddd";$s =~ tr/123/xyz/;print $s;
[解决办法]
二楼的代码的意思是:
把$s 里所有的 “1” 换成 “x "
所有的 "2" 换成 "y"
所有的 "3" 换成 "z"
你的需求估计还更复杂一点。
[解决办法]
目标字串跟你的替换字串要是有规律的话,正则可能解决。
否则没有规律的话,就看相应的语言的处理了。
[解决办法]
这么简单的事情你非要找个麻烦的方法才甘心?