前端之家收集整理的这篇文章主要介绍了
具有全局替换的perl正则表达式中的奇怪行为,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么这个小的perl脚本的
输出是“foofoo”(而不是“foo”)可以吗?
#!/usr/bin/perl -w
my $var="a";
$var=~s/.*/foo/g;
print $var."\n";
没有g选项它可以像我一样工作,但为什么全局选项匹配模式两次?
在bash输出是预期的“foo”
echo "a"|sed -e "s/.*/foo/g"
任何解释将不胜感激。
首先匹配a,然后匹配a之后的空字符串。也许你想要?