以下替换的含义是什么?
if($sr_no =~ m/^0/)
{
$sr_no =~ s/^(0*)(.*)/$2/;
}
答案 0 :(得分:11)
这是一种笨拙的写$sr_no =~ s/^0+//
方式,即删除任何前导零。 if
基本没用,因为替换执行相同的逻辑(即如果没有匹配则不替换)。
答案 1 :(得分:6)
它从字符串中删除前导零。
虽然我把它写成
s/^0+//
即。用任何内容(+
)替换一个或多个(^
)前导(0
)零(//
)。
答案 2 :(得分:2)
将之前的所有内容(由于*
)替换为^
后面的所有内容(由于$2 = (.*)
)
答案 3 :(得分:2)
sr_no
的内容与正则表达式^0
匹配
0
^(0*)(.*)
匹配的文本替换为第二组
0
。另见:
m//
和s///
运营商的详细信息。