【发布时间】:2013-07-23 11:39:35
【问题描述】:
我有这个小脚本:
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 的字符串开始。
【问题讨论】:
标签: regex perl substitution