我有这个小脚本:
my @list = ('R3_05_foo.txt','T3_12_foo_bar.txt','01.txt');
foreach (@list) {
s/(\d{2}).*\.txt$/$1.txt/;
s/^0+//;
print $_ . "\n";
}
预期的输出将是
5.txt
12.txt
1.txt
但相反,我得到
R3_05.txt
T3_12.txt
1.txt
最后一个很好,但我无法理解为什么正则表达式$1
在这种情况下给了我字符串开始。