在perl中有很多次,我想在匹配完成另一個替換操作符後用自己替換匹配的字符串。例如,我有一個應用程序,我需要查找帶引號的字符串並從中刪除空格。這樣做的一個方法是:正則表達式中的perl正則表達式
while($str =~ s/"([^"])+"//){
$temp = $1;
$temp2 = $temp;
$temp =~ s/ /_/g;
$str =~ s/$temp2/$temp1/;
}
這也似乎是可能的:
$str =~ s/"([^"])+"/replace_spaces($1)/gx;
sub replace_spaces(){
$word = shift;
$word =~ s/ /_/g;
return $word;
}
是否有這樣做,通過正則表達式莫名其妙嵌套在一個正則表達式的正則表達式的純方式?
是的,我知道這是在編程Perl的巨大的正則表達式章節中討論,但我不記得了。 – djechlin