在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