搜索多个连续的字符并用单个字符替换,也排除某些字符

时间:2015-01-23 18:22:20

标签: regex perl

搜索多个连续字符并用单个字符替换,也排除某些字符。 例如: Saaleem我需要Saleem

0 ++ ((1*0.04526)*1.05* 1)我需要0 + ((1*0.04526)*1.05* 1)

以下替换所有内容,我也需要排除少量字符 - 在这种情况下(& e

$str =~ s/(.)\1+/$1/g;

2 个答案:

答案 0 :(得分:2)

.替换为更准确的内容,

$str =~ s/([^e(])\1+/$1/g;

答案 1 :(得分:2)

使用negating character class

排除您需要的内容
([^(e])\1+

这里有一个正在使用的regex101:https://regex101.com/r/rX0oH8/2