首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CGI >

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

2012-03-23 
perl: 字符串替换的问题,请教高手。在一个字符串中,假设$testaaaaabaaa 现在要把 b 前面的每一个 a

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;

热点排行