读书人

perl: 字符串替换的有关问题

发布时间: 2012-03-23 12:06:21 作者: rapoo

perl: 字符串替换的问题,请教高手。
在一个字符串中,假设 $test = "aaaaabaaa ";

现在要把 "b "前面的每一个 "a "都替换成一个 "c ",而 "b "后面的 "a "保持不变。

替换完以后的结束就是 $test = "cccccbaaa "

这里的 "a ", "b ", "c "分别代表不同的字符串,

请问实现这一功能的perl正则表达式要怎么写?谢谢。

(如果一个正则表达式实现不了,多个正则表达式也可以)

[解决办法]
先以split(“b”)把这个分成2个子段

对前面的替换后+b+后面的子串
[解决办法]
$s =~ s/([a]+)(b[a]+)/
my $a = $1;
$a =~ s/a/c/g;
return $a.$2;
/eg
[解决办法]
$test = "aaaaabaaa ";
$test =~ s/aaaa/cccc/; #这个只会替换第一个匹配,如果是整个string的匹配的话,自己加参数
print $test;

读书人网 >CGI

热点推荐