redis01:/root# cat x2.pl
my $str="212121a19823a456123";
if ($str =~/.*a(.*)23/){print "1----".$1."\n";};
if ($str =~/.*?a(.*)23/){print "2----".$1."\n";};
redis01:/root# perl x2.pl
1----4561
2----19823a4561
perl .*?和.*
最新推荐文章于 2021-12-25 15:10:20 发布
本文通过示例解释了在Perl中,正则表达式 .*? 和 .* 的不同之处。在匹配字符串$str时,.*? 会进行非贪婪匹配,而 .* 则进行贪婪匹配。在示例中,两种匹配方式导致捕获的子串结果不同,.*? 能够正确捕获'19823a4561',而 .* 捕获的是'4561'。
摘要由CSDN通过智能技术生成