在 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;
}
有没有一种纯粹的正则表达式方法,通过某种方式在正则表达式中嵌套正则表达式?