我正在尝试编写一个非常基本的 shell 到 python 转换器,我在替换变量时遇到了一些麻烦。例如,我想要:
echo $var1 $var2 $var3
echo $var1 $var2 $var3 $var4
成为:
print var1, var2, var3
print var1, var2, var3, var4
目前,它变成:
print var1, var2 var3
print var1, var2 var3, var4
我的正则表达式是:
$string =~ s/(\$[a-z]+[a-z0-9]*)(\s+\S+)/$1,$2/gi;
由于某种原因,即使设置了全局修饰符,它也不会再次将正则表达式应用于匹配字符串的第二部分。
非常感谢您的帮助!