正则表达式 – 使用掩码字符串在perl中屏蔽字符串

前端之家收集整理的这篇文章主要介绍了正则表达式 – 使用掩码字符串在perl中屏蔽字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个像’xxox-x’这样的字符串,我想屏蔽文件中的每一行,如下所示:

> x被忽略(或只是设置为已知值)
> o保持不变
> – 是一个可变长度字段,可以保持其他所有内容不变

因此掩盖’xxox-x’对’deadbeef’会产生’xxaxbeex’

与’deadabbabeef’相同的面具’xxox-x’会产生’xxaxabbabeex’

我怎么能简洁地使用s运算符呢?

解决方法

$mask =~ s/-/'o' x (length $str - length $mask)/e;
$str =~ s/(.)/substr($mask,pos $str,1) eq 'o' ? $1 : 'x'/eg;

猜你在找的正则表达式相关文章